Skip to content

Code::Blocks не компилирует

Yuriy Syrovetskiy edited this page Dec 26, 2017 · 1 revision

Что делать, если Code::Blocks установлен, но не компилирует или не запускает вашу программу.

Часть из этих проблем наблюдается преимущественно в Windows.

Table of Contents

Вы забыли закрыть окно уже запущенной из Code::Blocks программы

Если забыли закрыть, закройте. Попробуйте скомпилировать и запустить вашу программу снова.

Вы не заметили, что были ошибки при попытке компиляции и запуска вашей программы

Проверьте, на что "жалуется" Code::Blocks - посмотрите , что выдаётся во вкладках "Build messages" и "Build log", которые находятся в панели "Logs & others", эта панель расположена внизу под панелью с текстом вашей программы. Если там есть сообщения об ошибках (error), то с ними надо разбираться и их исправлять.

Если панели "Logs & others" почему-то нет, откройте её, поставив в меню "View" галочку напротив пункта "Logs" (или нажав клавишу "F2").

Ваш файл с текстом программы - это не программа на языке Си

Компилятор и среда разработки делают вывод о том, как надо обрабатывать файл, по его расширению. Файл с текстом программы на языке Си должен иметь расширение .c (тут буква "c" латинская, а не кириллическая). Расширением .cpp используется для программ на языке C++. Проверьте, что у вас файл имеет нужное расширение.

Имя файла выбрано некорректно

Имена в программировании состоят обычно из латинских букв, цифр и символов подчёркивания. Нередко то же ожидается и от файлов. В крайнем случае можете использовать в именах дефис (символ "минус"). Но без пробелов и символов кириллицы лучше обойтись - как в имени файла, так и в именах тех папок, в которых он находится.

Компилятор не установлен

Проверьте, что вы использовали правильную версию дистрибутива Code::Blocks для установки. Установочный файл дистрибутива должен называться со словом mingw - его имя выглядит так:

 codeblocks-*****mingw-setup.exe 

(вместо звёздочек подразумеваются какие-то ещё символы, они обозначают номер версии) Если имя файла выглядит как:

 codeblocks-*****-setup.exe 

то это НЕПРАВИЛЬНЫЙ вариант дистрибутива (если вы только не собирались устанавливать какой-то компилятор отдельно самостоятельно). Скачайте правильный вариант дистрибутива и попробуйте установить его.

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

  • Найдите папку, куда вы устанавливали сам Code::Blocks. Скорее всего, это: "C:\Program Files (x86)\CodeBlocks" или "C:\Program Files\CodeBlocks" (если вы только не указывали что-то специфическое при установке). Для поиска можно попробовать ещё следующие действия:
    • нажмите правой клавишей мыши на иконке (ярлыке) Code::Blocks, через которую вы его запускаете,
    • выберите в выпадающем меню пункт "Свойства"
    • в появившемся окне перейдите во вкладке "Ярлык" (обычно окно открывается, уже показывая эту вкладку),
    • посмотрите путь к codeblocks.exe, который указан в поле "Объект".
  • Зайдите в папку, куда установлен Code::Blocks, если помимо самого Code::Blocks ещё установился компилятор, в ней должна быть папка MinGW.
  • Зайдите в эту папку MinGW - в ней должна быть папка bin.
  • Зайдите в эту папку bin - там должно быть много файлов.
  • Проверьте, что там есть, например, файлы gcc.exe и ld.exe (расширения при просмотре из проводника Windows могут не отображаться - это не страшно).
Если этих файлов или какой-то из указанных папок нет - значит, что-то у вас неправильно установилось. Попробуйте удалить Code::Blocks и установить, используя правильный вариант дистрибутива заново. Внимательно следите за выдаваемыми сообщениями, возможно, вы не заметили, что вас о чём-то предупреждали.

Если всё на месте, значит, либо Code::Blocks по каким-то причинам не сконфигурировался при установке, либо проблемы еще с чем-то - например, антивирус не дает запускать новые, непонятно по его мнению, откуда взявшиеся, программы.

Code::Blocks не сконфигурирован правильно

Проверять конфигурацию Code::Blocks имеет смысл только если вы удостоверились, что компилятор установлен.

  • В Code::Blocks зайдите в меню "Settings", выберите пункт "Compiler...".
  • В открывшемся окне проверьте, что для "Selected compiler" из выпадающего списка выбран пункт "GNU GCC Compiler".
  • Перейдите во вкладку "Toolchain executables" и посмотрите, заполнено ли значение поля "Compiler's installation directory".
  • Если не заполнено можно попробовать нажать кнопку "Auto detect" - если правильный путь не подставится автоматически, можно вписать его вручную, главное не ошибиться.
  • Чтобы понять, какой там должен быть указан верный путь - это должен быть полный путь к папке MinGW, которую вы находили - то есть, либо "C:\Program Files (x86)\CodeBlocks\MinGW", либо "C:\Program Files\CodeBlocks\MinGW".

Антивирус блокирует запуск вашей программы

Посмотрите, не возникают ли сообщения установленного у вас антивируса, когда вы пытаетесь запустить вашу программу - возможно, он пытается спросить вас, разрешить или запретить запуск вашей программы. Разрешите!

Попробуйте (временно!!!) отключить антивирус. Например, известна проблема с антивирусом Avast, который с некоторых пор начал "молча" блокировать запуск некоторых программ. Найдите значок Avasts в системном трее, зайдите в "Управление экранами Avast" и выберите "Отключить на 1 час".

Вы компилируете открытый проект вместо открытого файла

Если вы создали проект или не закрыли проект, который был открыт до этого, но редактируете какой-то .c .или cpp файл с текстом другой программы, который вовсе не из этого проекта, то при попытке скомпилировать и запустить программу компилироваться и запускаться будет программа, соответствующая открытому в данный момент проекту, а не чему-то ещё. Даже если ни один файл этого проекта не открыт для редактирования в Code::Blocks, а открыт только этот ваш файл не из проекта, всё равно компилируется не он, а проект.

Проверьте в панели "Manager" (обычно она слева) во вкладке "Projects", какие проекты у вас открыты.

Закройте проекты из меню "File".

Clone this wiki locally