15 причин, почему 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» или в любой другой папке, в пути к которой нет пробелов или кириллицы.

13. Неверное указание пути к компилятору

При запуске CodeBlocks появляется ошибка: «Can’t find compiler executable in your in your configured search path’s for GNU GCC COMPILER»

Это означает, что в настройках неверное указание пути к компилятору. Для исправления зайдите в меню «Настройки — Compiler… — Программы» и нажмите кнопку «Автоопределение».

Если CodeBlocks обнаружит компилятор, то можно работать. Если нет, то переустановите «Си-экспресс».

14. Программа на GTK+ работает только в среде CodeBlocks

Если запускать GTK-программу в среде Code::Blocks, то все работает, а если запустить exe-файл отдельно, то окна не появляются. Это означает, что программа не может найти GTK-библиотеки.

Они есть в сборке «Си-экспресс» в папке GTK-LIB. Их нужно скопировать в папку с программой. Для разработки в папку Debug, а для релиза в папку Release.

15. При запуске программы постоянно появляется окно консоли

По умолчанию CodeBlocks запускает окно консоли.

Для отключения окна консоли выберите в меню “Проект — Свойства — Цели сборки”. Выберите тип
“Приложение с графическим интерфейсом” и нажмите “ok”.


После этого внесите правку (например, добавьте пустую строку) и нажмите F9. Окна консоли не будет.

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

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

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

  • Добрый день!
    не появляется консоль
    collect2.exe: error: ld returned 1 exit status

  • Добрый день. Программа не запускается — зависает на окне «приветствия». В чем может быть проблема?

    • Попробуйте запустить от имени администратора. Правый клик на программе и выбрать «Запуск от имени администратора».

  • Всегда устанавливал в “c:\Program Files (x86)\CodeBlocks”, и никаких проблем не видел, если используется стандартный (идущий с C::B компилятор). В этом случае путь к компилятору определяется сам автоматически. Единственная причина по которой он может определиться не корректно, это установленная, еще одна версия компилятора MinGW (например, идущая с другой IDE типа Dev-C++). Других причин я никогда не наблюдал.
    При этом если добавлять новые файлы к проекту стандартно через мастер создания классов, то нет даже проблем, если в путях к проекту есть кириллица и пробелы.

  • Приветствую! Ошибка: Запуск программы невозможен, … libgcc_s_dw2-1.dll…
    не помню куда надо прописать -static

  • Ошибка под номером 4. Создал в диске С новую папку с английским названием, без пробелов, но все равно не работает(

  • Виндовс уведомления не выводятся на экран cairo (библиотека) не создаёт файл PDF

  • Но всё компилируется нормально.

    • Возможно, дело в ошибках в программе.

      • Здравствуйте, у меня пропал язык си. То есть после того как я нажимаю console application, мне предоставляется выбрать только с++, а си нету. С чем это может быть связано

        • Сложно сказать причину, но проще всего — это переустановить Си-экспресс.

  • Добрый день. Такая проблема.
    Создаю проект. пишу программу, все работает.
    Добавляю класс(пытаюсь) через создатель классов.(с галочкой создать файл реализации).
    Пишет ошибку «Файл D:\C++\Test\include\Test.h не удалось сохранить»
    и следом
    «Не удалось сохранить файл заголовка D:\C++\Test\include\Test.h. Прерываю»
    Причем файл создается, точнее 2 файла:
    1)Test.h
    2)Test.h.save-failed
    В него можно писать, но программа его не видит, и после перезапуска он и в проекте перестает видится. Но на диске он всё так же присутствует.

    Самое странное, что ошибка то есть, то нет.
    Можно раз 5 пробовать создавать класс(все время выполняя одни и те же действия, и стирая после каждой попытки «кривые файлы»), и 4 раза будет неудачно, а один раз все создастся без проблем.

    Code::Blocks запускаю от имени администратора. Запись на диск разрешена.

    Подскажите пожалуйста, в чем тут может быть проблема?

    • Повторить ошибку не удалось.
      Попробуйте в пути убрать знаки «+», то есть переименуйте папку «C++»? например, в «test».

  • Помогите скомпиллировать готовый проект
    https://github.com/arpytanshu/Discrete-Particle-Simulation
    там их два например первый
    вроде установил все что только можно . толку нет

    еслои можно удаленно через тимвивер или иное

    еще вопрос
    можно ли весь мусор
    все DLL хеадеры
    скидывать в одну папку( дополнительный путь)

    • Это сложная задача. Чтобы запустить этот проект нужно сначала подключить библиотеки OpenCL и freeglut. Затем уже можно компилировать данный проект.
      >можно ли… все DLL хеадеры скидывать в одну папку( дополнительный путь)
      Теоретически, да, но это неудобно. Лучше настраивать пути к DLL в проекте.

  • У меня компилятор запускается, консоль тоже, но она не выводит вычисления, код раньше работал, сейчас нет, я ничего не менял, определенно проблема в компиляторе

    • Мало информации, чтобы что-то сказать. Самое простое — это переустановить сборку.

  • Столкнулся с такой проблемой : Project/Target: «xxx — Debug»:
    The compiler’s setup (GNU GCC Compiler) is invalid, so Code::Blocks cannot find/run the compiler.
    Probably the toolchain path within the compiler options is not setup correctly?!
    Do you have a compiler installed?
    Goto «Settings->Compiler…->Global compiler settings->GNU GCC Compiler->Toolchain executables» and fix the compiler’s setup.

    Tried to run compiler executable ‘C:\MinGW/bin/mingw32-gcc.exe’, but failed!

    Skipping…
    Nothing to be done (all items are up-to-date).

    Подскажите , что делать

  • От души спасибо! Выручил!

  • А как сделать тот сброс настроек о котором говорится во втором пункте, потому что полностью переустанавливал, но настройки сохраняются

  • Если я при установке при соблюдении всех условий, но выберу С++! Должен будет работать? С уважением, Илья.

  • Сделал всё что указано, но выдал — Не удалось создать каталог проекта C\Work\

  • У CodeBlock при компиляции возникает внутренняя несовместимость собственных файлов , то ли он не находит их.

    Сообщения BuildLog:
    …/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible …/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/libstdc++.a when searching for -lstdc++
    …/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lstdc++

    …/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible …/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/libmingw32.a when searching for -lmingw32
    …/CodeBlocks/MinGW/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmingw32

    Сообщения BuildMessage:
    ld.exe|cannot find -lstdc++|
    ld.exe||cannot find -lmingw32|

    И так для 20 файлов.

    Все настройки — автоматические. Ничего не менял. Проверял две версии (с установкой и без):
    codeblocks-20.03mingw-32bit-setup.exe
    codeblocks-20.03mingw-32bit-nosetup.zip

    Операционная система Windows 10×64.

    Вот, например, ещё сообщение:
    https://stackoverflow.com/questions/62461483/codeblocks-compile-program-for-32bit-computer
    У меня точно такая ошибка.

    • Точно сказать не могу, но предположительно неверно прописаны пути к компилятору.

  • Доброго времени суток! Помогите пожалуйста!
    У меня при попытке скомпилировать программу сначала ничего не происходит, спустя пару секунд в строке заголовка CodeBlocks-а появляется надпись, что приложение «Неотвечает», после чего CodeBlocks просто «выгружается». Раньше такого не было. Готовые приложения запустить из среды можно, а перекомпилировать — CodeBlocks «исчезает». Появилось после почти трехнедельного невключения мной ноута. Система сперва самовосстанавливалась, потом попросила обновиться.
    Не уверена, но возможно это связано с обновлением Винды. Раньше же она тоже обновлялась, и все было норм
    Я даже переустановила CodeBlocks заново — не помогло (((

    • Трудно сказать. Попробуйте скачать последнюю сборку здесь https://progtips.ru/c_express и установите по шагам. Минимальная программа должна скомпилироваться.

  • Здравствуйте! Помогите разобраться.
    CodeBlocks 20.03 ОС Windows 10 Pro. У меня не отображается кириллица при создании консоли. Использовал и cp 1251 и cp 866. Использовал setlocale(LC_ALL,»RUS»); и SetConsoleOutputCP(1251); SetConsoleCP(1251); Крякозябли. Русский шрифт отображается если я переводил созданное окно консоли в свойствах в точечные шрифты и ставил галочку в настойках использовать прежнюю версию консоли. Правда в title всеравно крякозябли. Через батник все работает замечательно на кодировке 866.

    • К сожалению, эта проблема связана с настройкой конкретной версии Windows. Универсального решения кодировок в консоли нет. Поэтому рекомендую использовать оконный интерфейс.

    • Попробуй открыть cmd (командную строку windows) и нажать на верхней рамке правой кнопкой мыши и нажать там умолчания (значения по умолчанию) и там появится окно, в котором можно поменять шрифт самой консоли.

  • Тільки хочу написати новий файл і все помилка
    File
    obj \Release\main.o
    Line
    Message
    === Build: Release in a61 (compiler: GNU G
    No such file or directory error: no input files
    -=- Build failed: 2 error (s), 0 warning (s)

  • В программе неактивны почти все пункты меню

    • Могу предположить, что при распаковки архива «Си-экспресс» была ошибка.

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

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.