Я постоянно получаю письма о том, что CodeBlocks ведет себя как-то не так. В этой статьей рассмотрим самые популярные причины, почему CodeBlocks может неверно себя вести.
Содержание
Нужно понимать, что CodeBlocks — это просто каркас для подключения различных инструментов. Если вы просто скачаете пустой CodeBlocks с официального сайта и попытаетесь писать и отлаживать программу, то у вас ничего не получится. CodeBlocks не сможет запустить ни комплятор, ни отладчик. Все это нужно скачивать и устанавливать отдельно.
Но тут будет новая проблема — проблема выбора. CodeBlocks поддерживает все существующие компиляторы Си, какой выбрать? То же относится к любому другому инструментарию: отладчикам, профайлерам, плагинам и т.д.
Именно поэтому я и сделал сборку Си-экспресс, чтобы можно было сразу распаковать и работать. Все нужные компоненты уже установлены. Если вы точно знаете, что вам нужен другой компонент, то просто найдите и замените его на тот, который вам нужен.
Решение: Скачайте сборку Си-экспресс.
Эта ошибка может возникать, когда вы все скачали и установили, но неверно прописали пути. Поэтому CodeBlocks не может эти компоненты найти.
В случае с компилятором вопрос решается просто. Удалите настройки и запустите CodeBlocks. При первом запуске CodeBlocks просканирует ваш диск на наличие компилятора и выдает список всех найденных компиляторов.
Вам остается только сделать выбор и можно работать.
Но для других компонентов это не так, поэтому нужно проверить, что все они прописаны. Для этого зайдите в меню «Настройки — Compiler… — Программы»
Убедитесь, что все компоненты присутствуют на вашем компьютере.
Решение: Нужные программы должны быть или в папке «bin» каталога установки компилятора, или укажите дополнительные пути для их вызова.
Есть старая проблема с тем, что инструменты программиста часто имеют проблемы с кодировками. Считается, что программист настолько крут, что сможет эту проблему решить самостоятельно. Но для новичков в программировании это оказывается непреодолимым препятствием. Новички часто устанавливают CodeBlocks:
В обоих случаях программа будет работать неверно, так как какой-то из компонентов откажется выполняться.
Например в документации на компилятор MinGW говорится:
У MinGW могут быть проблемы с путями, содержащими пробелы, а если нет, обычно другие программы, используемые с MinGW, будут испытывать проблемы с такими путями. Таким образом, мы настоятельно рекомендуем не устанавливать MinGW в любом месте с пробелами в имени пути ссылки . Вам следует избегать установки в любой каталог или подкаталог с именами, такими как «Program Files» или «Мои документы».
Решение: Установите CodeBlocks в папку «C:\Prog\CodeBlocks» или в любую другую папку, в пути к которой нет пробелов или кириллицы.
Это следствие той же проблемы, что и в предыдущем случае. Программист нормально установил среду программирования, все работает, но вдруг какая-то новая программа отказывается компилироваться. Обычно описание ошибки выглядит как: «No such file or directory» при этом имя файла отображается в нечитаемой кодировке.
Как правило, причина в том, что путь к проекту содержит символы кириллицы или пробелы. Например проект был размещен в каталоге с именем типа: «c:\Новая папка».
Решение: Создавайте проекты в папке «c:\Work» или в любой другой папке, в пути к которой нет пробелов или кириллицы.
Вы запустили CodeBlocks, но при этом некоторые пункты меню не активны. Например, иконки для отладки:
Это происходит в том случае, если вы связали расширение «.c» с вызовом CodeBlocks. В этом случае среда работает как редактор исходного текста. Чтобы активировать все функции среды нужно открыть проект.
Решение: Сначала запустите CodeBlocks, а затем откройте проект. Проект имеет расширение «.cbp».
Это следствие той же проблемы, что и в пункте 5. CodeBlocks запущен в режиме простого редактирования, поэтому не все функции работают. Для включения всех функций вы должны работать с проектом.
Решение: Откройте проект или создайте новый.
Это нормальная работа консольной программы. Если ее запускать на выполнение, то она запускается, выполняется, а после выполнения окно консоли закрывается.
При запуске внутри Codeblocks есть специальная настройка, которая не дает окну закрыться.
Решение: Если вам нужно получить информацию о работе программы, то или запросите ввод пользователя, или всю информацию о работе запишите в файл.
Эта ошибка возникает в том случае, если вы поменяли что-либо в настройках компилятора, но не поменяли программу. Например, если вы предыдущем примере уберете галочку «Пауза после выполнения» и нажмете F9, то программа все равно будет запущена с паузой.
Это происходит потому, что действует правило: компилятор запускается, если вносились исправления в текст программы. Так как исправления не было, то CodeBlocks не запускает компиляцию, а запускает уже готовый файл.
Решение: Вставьте пробел в текст программы и нажмите F9. Или выполните пункт меню «Сборка — Пересобрать».
Эта ошибка доставляет немало неприятных минут. Программист долго ищет ошибку, но никакой ошибки нет.
Программа не запускается, потому что вы не завершили предыдущую запущенную скомпилированную программу, поэтому компилятор не может записать в файл новый скомпилированный код.
В более сложном случае программа зациклилась и нельзя ее нормально завершить. В этом случае нажмите Ctrl+Alt+Del и снимите зависшую программу.
Решение: Завершите запущенную перед этим скомпилированную программу.
Вы получаете следующее сообщение: «Permission denied».
Решение: Отключите антивирус.
Бывает так, что на одном компьютере CodeBlocks прекрасно работает, а при копировании на другой компьютер возникают ошибки. Это может быть следствием того, что Windows блокирует некоторые возможности программы.
Решение. Запустите CodeBlocks от имени администратора
Для этого нажмите правую кнопку мыши на файле codeblocks.exe
Вы поставили точку останова, но отладчик ее игнорирует. Это следствие ошибки №4. У вас символы кириллицы или пробелы в пути к программе.
Решение: Создавайте проекты в папке «c:\Work» или в любой другой папке, в пути к которой нет пробелов или кириллицы.
При запуске CodeBlocks появляется ошибка: «Can’t find compiler executable in your in your configured search path’s for GNU GCC COMPILER»
Это означает, что в настройках неверное указание пути к компилятору. Для исправления зайдите в меню «Настройки — Compiler… — Программы» и нажмите кнопку «Автоопределение».
Если CodeBlocks обнаружит компилятор, то можно работать. Если нет, то переустановите «Си-экспресс».
Если запускать GTK-программу в среде Code::Blocks, то все работает, а если запустить exe-файл отдельно, то окна не появляются. Это означает, что программа не может найти GTK-библиотеки.
Они есть в сборке «Си-экспресс» в папке GTK-LIB. Их нужно скопировать в папку с программой. Для разработки в папку Debug, а для релиза в папку Release.
По умолчанию CodeBlocks запускает окно консоли.
Для отключения окна консоли выберите в меню “Проект — Свойства — Цели сборки”. Выберите тип
“Приложение с графическим интерфейсом” и нажмите “ok”.
После этого внесите правку (например, добавьте пустую строку) и нажмите F9. Окна консоли не будет.
Добавлено 27 марта 2021 в 16:24
Когда вы пишете свои программы, компилятор проверяет, соблюдаете ли вы правила языка C++ (при условии, что вы отключили расширения компилятора, как описано в уроке «0.10 – Настройка компилятора: расширения компилятора»).
Если вы сделали что-то, что определенно нарушает правила языка, во время компиляции компилятор выдаст ошибку, предоставив как номер строки, содержащей ошибку, так и некоторый текст о том, что ожидалось и что было найдено. Реальная ошибка может быть в этой или в предыдущей строке. После того, как вы определили и исправили строку кода, содержащую ошибку, вы можете попробовать скомпилировать программу снова.
В других случаях компилятор может найти код, который, кажется, может быть ошибочным, но компилятор не может быть в этом уверен (помните девиз: «доверяй программисту»). В таких случаях компилятор может выдать предупреждение. Предупреждения не останавливают компиляцию, но являются предупреждением программисту о том, что что-то не так.
Лучшая практика
Не позволяйте предупреждениям накапливаться. Решайте их по мере их появления (как если бы это были ошибки).
В большинстве случаев предупреждения можно устранить, исправив ошибку, на которую указывает предупреждение, или, переписав строку кода, генерирующую предупреждение, таким образом, чтобы предупреждение больше не генерировалось.
В редких случаях может потребоваться явное указание компилятору не генерировать конкретное предупреждение для рассматриваемой строки кода. C++ не предоставляет официальный способ сделать это, но многие отдельные компиляторы (включая Visual Studio и GCC) предлагают решения (через непортируемые директивы
#pragma
) для временного отключения предупреждений.
По умолчанию большинство компиляторов генерируют предупреждения только о наиболее очевидных проблемах. Однако вы можете попросить свой компилятор быть более настойчивым в предупреждении о вещах, которые он считает странными.
Лучшая практика
Увеличьте уровень предупреждений до максимума, особенно во время обучения. Это поможет вам определить возможные проблемы.
Чтобы повысить уровень предупреждений, кликните правой кнопкой мыши на имени проекта в окне обозревателя решений и выберите Свойства:
Рисунок 1 – Свойства проекта в обозревателе решенийВ диалоговом окне проекта сначала убедитесь, что в поле Конфигурация (Configuration) установлено значение Все конфигурации (All Configurations).
Затем кликните C/C++ → вкладка Общие (General) и установите Уровень предупреждений (Warning Level) на Уровень4 (/W4):
Рисунок 2 – Включение уровня 4 для предупреждений в Visual StudioПримечание: не выбирайте Включить все предупреждения (/Wall) (EnableAllWarnings (/Wall)), иначе вас завалит предупреждениями, генерируемыми стандартной библиотекой C++.
В меню меню Settings (Настройки) → Compiler (Компилятор) → вкладка Compiler Settings (Настройки компилятора) найдите и включите параметры, которые соответствуют параметрам -Wall, -Weffc++ и -Wextra:
Рисунок 3 – Включение всех предупреждений в Code::BlocksЗатем перейдите на вкладку Other compiler options (Другие параметры компилятора) и добавьте -Wsign-conversion в текстовое поле:
Рисунок 4 – Добавление -Wsign-conversionПримечание. Параметр -Werror объясняется ниже.
Добавьте в командную строку следующие флаги: -Wall -Weffc++ -Wextra -Wsign-conversion.
Также можно указать вашему компилятору обрабатывать все предупреждения, как если бы они были ошибками (в этом случае компилятор остановит компиляцию, если обнаружит какие-либо предупреждения). Это хороший способ обеспечить соблюдение рекомендации о том, что необходимо исправлять все предупреждения (если вам не хватает самодисциплины, что характерно для большинства из нас).
Чтобы рассматривать предупреждения как ошибки, кликните правой кнопкой мыши имя проекта в окне обозревателя решений и выберите Свойства:
Рисунок 5 – Свойства проекта в обозревателе решенийВ диалоговом окне проекта сначала убедитесь, что в поле Конфигурация (Configuration) установлено значение Все конфигурации (All Configurations).
Затем кликните C/C++ → вкладка Общие (General) и установите для параметра Обрабатывать предупреждения как ошибки (Treat Warnings As Errors) значение Да(/WX) (Yes (/WX)).
Рисунок 6 – Считать предупреждения ошибками в Visual StudioВ меню меню Settings (Настройки) → Compiler (Компилятор) → вкладка Other compiler options (Другие параметры компилятора) добавьте -Werror в область редактирования текста:
Рисунок 7 – Добавление -Werror в Code::BlocksДобавьте в командную строку флаг -Werror.
Оригинал статьи:
Назад
Оглавление
Вперед
Сначала я разглагольствовал Методом перехода для меня сначала была Visual Studio. Мне Codeblocks казался очень неуклюжим и нечистым. Через некоторое время я постепенно понял, что VS просто не имеет поддержки CB.
VS ограничен определенными компиляторами, Microsoft или Intel. Я заметил, что им требуется «намного» больше времени, чтобы получить поддержку обновлений на языке программирования. Этому нет оправдания для такой крупной компании.
В то время как Codeblocks выпускает 1-2 сборки каждый месяц. Это помогает решать проблемы, которые могут возникнуть с другими компиляторами, не говоря уже о собственных проблемах. Я использую GCC, учитывая его поддержку, и он кажется наиболее быстро обновляемым компилятором.
Теперь руководство Учитывая очень мало руководств, доступных для обучения людей, как настроить свои собственные блоки кода, поддерживающие последние версии C++. Я собираюсь покрыть это довольно быстро.
Во-первых, вам нужно скачать ночную сборку codeblocks:
http://forums.
Во-вторых, загрузите GCC: http://tdm-gcc.tdragon.net/download
Я обычно беру 64 версию. Он включает в себя файлы x86.
Отсюда я создаю папку на своем основном диске «Codeblocks and GCC».
Я устанавливаю оба в эту папку.
Как только они будут установлены, откройте кодовые блоки. Он может или не может автоматически определять компилятор. В любом случае нам нужно кое-что настроить.
В настройках кодовых блоков> компилятор> исполняемые файлы цепочки инструментов. Сначала убедитесь, что TDM GCC находится в «каталоге установки компилятора». Если это не так, нажмите «…» справа и добавьте его. при добавлении exe-файлов вам нужно будет перейти в папку TDM-GCC> Bin. Пройдите через каждую часть этого окна, сопоставив следующее: Imgur
Это должно предоставить вам работающий компилятор. Но прежде чем мы уйдем, вернемся к флагам компилятора и поставим галочку рядом со стандартами C++11.
Я написал это руководство, потому что изучал программирование по очень популярной книге. «Принципы программирования и практика на С++». В этой книге есть что-то под названием «constexpr», которое абсолютно не поддерживается в Visual Studio даже с обновлениями. Итак, если вы собираетесь закончить эту книгу, вам нужно знать, как настроить Codeblocks.
Увидев, что Visual Studio 2013 по-прежнему не поддерживает то, что есть в очень популярной книге, такой как эта. Microsoft оставил меня разочарованным и немного противным. Но и эта книга. Многие были бы сбиты с толку такой проблемой и тем, что это их программное обеспечение, а не их код. Для начинающих это было бы довольно рассолом.
Как настроить кодовые блоки
Хотите добавить себе несколько пользовательских тем Codeblocks для окна редактора (куда идет код), скопируйте текст в блокнот в виде .xml или загрузите файл.
https://drive.google.com/file/d/0B_IxWgyZWsZ1SXBrcnA4TDhCdjA/view?usp=sharing
Как только это будет сделано, вы войдете в папку codeblocks (убедитесь, что codeblocks НЕ запущен), запустите программное обеспечение cb_share_config, добавьте файл xml в качестве источника, а затем. .. (убедитесь, что вы можете просматривать скрытые папки и файлы) перейдите к localdisk>users>username>AppData>Roaming>codeblocks; Найдите файл с именем «по умолчанию». Скопируйте этот файл. Затем добавьте этот файл в правую часть «назначения» программного обеспечения.
наконец, отметьте каждый из вариантов слева в поле.
После этого нажмите «Сохранить», а затем нажмите «Да». После завершения закройте. Теперь откройте Codeblocks и перейдите в «Настройки»>
«Редактор»> «Синтаксис и подсветка»; Различные параметры должны отображаться вверху рядом с «цветовой темой».Выберите один из них.
Примечания. Для более темного фона вам нужно перейти к «полям и каретке», измените каретку на видимый цвет, например, бирюзовый или белый. Каретка — это мигающая вещь, которую вы видите там, где волшебным образом появляется ваш текст, когда вы его печатаете. Я уверен, вы захотите это увидеть.
** Дайте мне знать, что вы думаете по этому поводу, я знаю, что это тяжело. Я в основном начал разглагольствовать и одновременно старался быть продуктивным 😉 **
Руководство по эксплуатации:
Существует также руководство, которое поможет вам настроить и использовать Code::Blocks. Пожалуйста
нажмите здесь, чтобы загрузить наш
руководство по использованию Code::Blocks.
Полное руководство доступно на Code::Blocks
Веб-сайт.
Библиотеки для GLUT:
Для студентов, сдающих CIS 41: Вот руководство по использованию GLUT в Code::Blocks.
Библиотеки для OpenGL 3.0:
Для учащихся, посещающих занятия по OpenGL 3.0: Вот руководство по
используя OpenGL 3.0 в
Код::Блоки.
Вам нужно скачать code. zip
также файл.
Справочник по С++
Страница. Когда вы устанавливаете Code Blocks, вы можете получить доступ к этой информации
через справку, Справочник по C++.
Если вы пользователь Mac, вы можете столкнуться с двумя проблемами: 1. Нажатие клавиши активирует сочетание клавиш, а не
ввод ключа. Это известная ошибка в новой версии. В меню выберите «Плагины» Перезапустите CodeBlocks и все должно заработать. 2. Проблемы с печатью из CodeBlocks: В Text Wrangler выполните следующие действия:
На новых компьютерах Mac вы можете необходимо перейти в «Системные настройки» > «Безопасность и Конфиденциальность > Общие. Затем измените в «Разрешить приложения «Загружено из» в «Откуда». После установки Code::Blocks, возможно, вы захотите снова установить для этого параметра значение «Приложение для Mac». Магазин и установленные разработчики». |
Running Code::Blocks
В раскрывающемся меню «Приложения» перейдите в раздел «Программирование» и нажмите:
Code::Blocks IDE
или
Откройте окно консоли и выполните следующую команду:
codeblocks
Откройте файл в графическом редакторе от имени пользователя root. Вставьте следующее строка в терминале:
sudo gedit /etc/apt/sources.list
деб http://apt.wxwidgets.org/ lenny-wx основной2) Чтобы убедиться, что ваша система пакетов доверяет этим источникам. Добавьте их ключи.
Введите эти две строки на терминале:
wget -q http://apt.wxwidgets.org/key.asc -O- | sudo apt-ключ добавить —И обновите пакеты, введя следующие строки на Терминал:
обновление sudo apt-get
обновление sudo apt-get
Введите в терминал следующую строку:
sudo apt-get install libcodeblocks0 codeblocks libwxsmithlib0 codeblocks-contrib
Вы должны увидеть Code::Blocks в Programming
Список языков ваших программ.
Наслаждайтесь!
Прочее
информация о Code::Block и Ubuntu