12 причин, почему CodeBlocks не работает

Я постоянно получаю письма о том, что CodeBlocks ведет себя как-то не так. В этой статьей рассмотрим самые популярные причины, почему CodeBlocks может неверно себя вести.

1. Не хватает нужных компонентов (компилятора, отладчика, библиотек)

Нужно понимать, что CodeBlocks – это просто каркас для подключения различных инструментов. Если вы просто скачаете пустой CodeBlocks с официального сайта и попытаетесь писать и отлаживать программу, то у вас ничего не получится. CodeBlocks не сможет запустить ни комплятор, ни отладчик. Все это нужно скачивать и устанавливать отдельно.

Но тут будет новая проблема – проблема выбора. CodeBlocks поддерживает все существующие компиляторы Си, какой выбрать? То же относится к любому другому инструментарию: отладчикам, профайлерам, плагинам и т.д.

Именно поэтому я и сделал сборку Си-экспресс, чтобы можно было сразу распаковать и работать. Все нужные компоненты уже установлены. Если вы точно знаете, что вам нужен другой компонент, то просто найдите и замените его на тот, который вам нужен.

Решение: Скачайте сборку Си-экспресс.

2. Неверно указаны пути к компонентам

Эта ошибка может возникать, когда вы все скачали и установили, но неверно прописали пути. Поэтому CodeBlocks не может эти компоненты найти.
В случае с компилятором вопрос решается просто. Удалите настройки и запустите CodeBlocks. При первом запуске CodeBlocks просканирует ваш диск на наличие компилятора и выдает список всех найденных компиляторов.
Вам остается только сделать выбор и можно работать.
Но для других компонентов это не так, поэтому нужно проверить, что все они прописаны. Для этого зайдите в меню “Настройки – Compiler… – Программы”
Убедитесь, что все компоненты присутствуют на вашем компьютере.
Решение: Нужные программы должны быть или в папке “bin” каталога установки компилятора, или укажите дополнительные пути для их вызова.

3. Символы кириллицы или пробелы в пути к программе CodeBlocks

Есть старая проблема с тем, что инструменты программиста часто имеют проблемы с кодировками. Считается, что программист настолько крут, что сможет эту проблему решить самостоятельно. Но для новичков в программировании это оказывается непреодолимым препятствием. Новички часто устанавливают CodeBlocks:

  • или в “c:\Program Files (x86)\CodeBlocks”
  • или в папку типа “c:\Я начинаю изучать программирование\CodeBlocks”
В обоих случаях программа будет работать неверно, так как какой-то из компонентов откажется выполняться.
Например в документации на компилятор MinGW говорится:
У MinGW могут быть проблемы с путями, содержащими пробелы, а если нет, обычно другие программы, используемые с MinGW, будут испытывать проблемы с такими путями. Таким образом, мы настоятельно рекомендуем не устанавливать MinGW в любом месте с пробелами в имени пути ссылки . Вам следует избегать установки в любой каталог или подкаталог с именами, такими как «Program Files» или «Мои документы».
Решение: Установите CodeBlocks в папку “C:\Prog\CodeBlocks” или в любую другую папку, в пути к которой нет пробелов или кириллицы.

4. Символы кириллицы или пробелы в пути к разрабатываемой программе

Это следствие той же проблемы, что и в предыдущем случае. Программист нормально установил среду программирования, все работает, но вдруг какая-то новая программа отказывается компилироваться. Обычно описание ошибки выглядит как: “No such file or directory” при этом имя файла отображается в нечитаемой кодировке.

Как правило, причина в том, что путь к проекту содержит символы кириллицы или пробелы. Например проект был размещен в каталоге с именем типа: “c:\Новая папка”.

Решение: Создавайте проекты в папке “c:\Work” или в любой другой папке, в пути к которой нет пробелов или кириллицы.

5. Не все пункты меню активны

Вы запустили CodeBlocks, но при этом некоторые пункты меню не активны. Например, иконки для отладки:

Это происходит в том случае, если вы связали расширение “.c” с вызовом CodeBlocks. В этом случае среда работает как редактор исходного текста. Чтобы активировать все функции среды нужно открыть проект.

Решение: Сначала запустите CodeBlocks, а затем откройте проект. Проект имеет расширение “.cbp”.

6. При запуске компилятора ничего не происходит

Это следствие той же проблемы, что и в пункте 5. CodeBlocks запущен в режиме простого редактирования, поэтому не все функции работают. Для включения всех функций вы должны работать с проектом.

Решение: Откройте проект или создайте новый.

7. Программа работает из CodeBlocks, но если запустить ее отдельно, то она сразу закрывается

Это нормальная работа консольной программы. Если ее запускать на выполнение, то она запускается, выполняется, а после выполнения окно консоли закрывается.
При запуске внутри Codeblocks есть специальная настройка, которая не дает окну закрыться.
Решение: Если вам нужно получить информацию о работе программы, то или запросите ввод пользователя, или всю информацию о работе запишите в файл.

8. CodeBlocks запускает предыдущую версию программы

Эта ошибка возникает в том случае, если вы поменяли что-либо в настройках компилятора, но не поменяли программу. Например, если вы предыдущем примере уберете галочку “Пауза после выполнения” и нажмете F9, то программа все равно будет запущена с паузой.
Это происходит потому, что действует правило: компилятор запускается, если вносились исправления в текст программы. Так как исправления не было, то CodeBlocks не запускает компиляцию, а запускает уже готовый файл.
Решение: Вставьте пробел в текст программы и нажмите F9. Или выполните пункт меню “Сборка – Пересобрать”.

9. Компиляция проходит без ошибок, но программа не запускается

Эта ошибка доставляет немало неприятных минут. Программист долго ищет ошибку, но никакой ошибки нет.
Программа не запускается, потому что вы не завершили предыдущую запущенную скомпилированную программу, поэтому компилятор не может записать в файл новый скомпилированный код.
В более сложном случае программа зациклилась и нельзя ее нормально завершить. В этом случае нажмите Ctrl+Alt+Del и снимите зависшую программу.
Решение: Завершите запущенную перед этим скомпилированную программу.

10. Антивирус блокирует запись программы на диск

Вы получаете следующее сообщение: “Permission denied”.

Решение: Отключите антивирус.

11. Windows блокирует работу CodeBlocks

Бывает так, что на одном компьютере CodeBlocks прекрасно работает, а при копировании на другой компьютер возникают ошибки. Это может быть следствием того, что Windows блокирует некоторые возможности программы.

Решение. Запустите CodeBlocks от имени администратора
Для этого нажмите правую кнопку мыши на файле codeblocks.exe

12. Отладчик не останавливается на точке останова

Вы поставили точку останова, но отладчик ее игнорирует. Это следствие ошибки №4. У вас символы кириллицы или пробелы в пути к программе.

Решение: Создавайте проекты в папке “c:\Work” или в любой другой папке, в пути к которой нет пробелов или кириллицы.

Комментарии 2

  • cc1plus.exe: error: unrecognized command line option “-std=c++11”
    что за ошибка?

    • Это ошибка говорит о том, что неправильно настроен компилятор. Настройки компилятора устанавливаются в меню “Настройки – Compiler”.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *