Код блокс окно ошибок

Помогаю со студенческими работами здесь

Настроить Codeblocks
Гуру, помогите новичку!
Раньше кодил под Win-консоль в блокноте и запускал компиляцию BAT-ником……

Xampp. Как настроить показ ошибок?
Всем привет) Установил xampp. Если пишу скрипт правильно(без ошибок) то все робит, если с ошибками,…

Помогите настроить CodeBlocks…
Скачал CodeBlocks 10,5 ,при установки поставил везде галочки .Потом решил проверить…

Как настроить проверку ошибок в Sublime Text 3?
Здравствуйте.
Нужно настроить Linter в ST3 так, чтобы он подсвечивал ошибки.

"linters": {

Как сну ля ПОЛНОСТЬЮ БЕЗ ошибок настроить KMail?
Нужна ПОЛНАЯ инструкция, например:

Устанавливаем дистр с KDE (KDE neon, Kubuntu и т.д.)
Теперь…

Как настроить lamp для отлова ошибок в Yii1?
Добрый день,

Такая проблемка, часть ошибок в yii не отлавливаются на моем lamp сервере ,…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

3

This is probably a really noob question, but the fact of the matter is that my Code::blocks wouldn’t show me errors when it compiles — it only shows a red bar next to the offending line as shown in screenshot. Also, when my code does run and has output, CB opens a new window instead of showing the output in a pane in the bottom of the editor window like some other IDEs. How do I enable either/both, since they’re probably the same feature? Thanks!alt text

asked Dec 15, 2010 at 23:48

Bad Request's user avatar

3

Press F2 to enable Logs panel. Select «Build log» in it.

Or go to menu: View -> Logs

Have a good developing!

answered Dec 15, 2010 at 23:51

osgx's user avatar

osgxosgx

89.7k53 gold badges353 silver badges508 bronze badges

1

go to view -> perspective -> and enable code::Blocks default, you can see your projects left side and down the build logs and messages etc.

answered Nov 16, 2015 at 9:40

Mamatha .G's user avatar

0

If after hitting F2, you don’t see «Log & others» tab

You need choose: «View» ==> «Perspective» ==> «Delete current»

answered Oct 2, 2019 at 14:45

leminhnguyen's user avatar

leminhnguyenleminhnguyen

1,4202 gold badges12 silver badges19 bronze badges

You just need to hit F2 to enable the «log & others» pane.

answered Jul 20, 2015 at 4:41

Akash Verma's user avatar

Akash VermaAkash Verma

5981 gold badge10 silver badges13 bronze badges

Steps :View ->Perspective ->Delete
works definitely, if F2 and view logs don’t work.

answered Nov 4, 2021 at 9:37

shaikh nifa's user avatar

Это, вероятно, действительно вопрос noob, но дело в том, что мой код::блоки не будут показывать мне ошибки при компиляции — он показывает только красную полосу рядом с оскорбительной линией, как показано на скриншоте. Кроме того, когда мой код запускается и имеет вывод, CB открывает новое окно вместо отображения вывода на панели в нижней части окна редактора, как некоторые другие IDE. Как включить либо / оба, поскольку они, вероятно, являются одной и той же функцией? Спасибо!alt text

3 ответов


нажмите F2, чтобы включить панель журналов. Выберите «Build log» в нем.

или перейти в меню: View -> Logs

хорошо развивается!


перейдите в меню View -> перспектива -> и включить код::блоки по умолчанию, вы можете увидеть ваши проекты с левой стороны и вниз журналы сборки и сообщений и т. д.


вам просто нужно нажать F2, чтобы включить панель «log & others».


Вероятно, это действительно нубский вопрос, но в том-то и дело, что мои Code::blocks не будут показывать мне ошибки при компиляции — он показывает только красную полосу рядом с ошибочной строкой, как показано на скриншоте. Кроме того, когда мой код запускается и имеет вывод, CB открывает новое окно вместо отображения вывода на панели в нижней части окна редактора, как некоторые другие IDE. Как я могу включить один или оба, так как они, вероятно, одна и та же функция? Спасибо!альтернативный текст

2010-12-15 23:48

5
ответов

Решение

Нажмите F2, чтобы включить панель журналов. Выберите в нем «Журнал сборки».

Или зайдите в меню: View -> Logs

Хорошего развития!

2010-12-15 23:51

Перейдите к просмотру -> перспектива -> и включите code::Blocks по умолчанию, вы можете видеть ваши проекты слева и вниз по журналам сборки и сообщениям и т. д.

2015-11-16 09:40

Если после нажатия F2 вы не видите вкладку «Журнал и другие»

Вам нужно выбрать: «Просмотр» ==> «Перспектива» ==> «Удалить текущий»

2019-10-02 17:45

Вам просто нужно нажать F2, чтобы включить панель «log & others».

2015-07-20 04:41

Шаги: View ->Perspective ->Delete работает определенно, если F2 и просмотр журналов не работают.



04 ноя ’21 в 12:37
2021-11-04 12:37

2021-11-04 12:37

Добрый день, дорогие друзья. Этой статьей я начинаю серию уроков посвященных одному из самых популярных языков программирования — с++. Уроки направлены в первую очередь на пользователей, который не знакомы с программированием, поэтому профессионалы, не будьте строги, хотя поддерживаю критику, особенно в свой адрес. В своих уроках я буду использовать среду разработки Code::Blocks , который можно скачать и использовать бесплатно. Начнем конечно с классического Hello, world =)

Я надеюсь что Вы уже скачали и установили Code::Blocks, если это так, то начнем. Запускаем среду разработки

Первым делом создаем новый пустой проект File->New->Project и выбираем Empty project

кликаем Go, затем Next

и в появившемся окне в поле Project title набираем заголовок проекта, в Project filename название проекта и снова Next.

В следующем окне удаляем Objects dir из разделов Create «Debug» configuration и Create «Release» configuration, как показано на скриншоте выше и нажимаем по кнопке Finish. Справа должен появится проект с названием «Hello world»

Следующий этап, добавляем в проект файл File->New->FIle… и в появившемся окне выбираем c/c++ source.

Снова Go, Next, выбираем с++, Next и видим следующее окно

,

тут нам необходимо указать имя файла (я назвал main) и его путь, желательно папку с проектом. Ставим галочки на Debug и Release и кликаем Finish.

И мы получили пустой файл с++, в котором будем писать сам код программы.

Теперь начинаем писать сам код программы. Для вывода информации на экран, нам потребуется библиотека ввода/вывода iostream.

#include

using namespace
std
;

Затем пропишем главную функцию, которая будет выполняться при запуске программы

int
main()

она обязательно должна называться «main» и указываем ей тип int (об этом мы поговорим в следующих уроках). Между фигурных скобок и будет находится код программы. Мы напишем простую программу, которая будет в консоли выводить приветствие «Hello, world!».

cout<<«Hello, world!»
;

После каждой команду обязательно нужно ставить «;», это говорит компилятору, что команда закончена и можно обрабатывать следующую. cout — выводит значения переменных или строки в командную строку.

Полный листинг программы.

#include

using namespace
std;

int main()

cout<<
«Hello, world!»
;

return 0
;

Запускаем проект и видим результат.

Ниже прилагаю видео урок, к даной статье.

Если возникли вопросы, комментарии пишите на Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
,»>Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
, буду дорабатывать уроки или просто помогать в изучении материалов.

  • < Назад

Предварительный (неоконченный) вариант

1
Установка и настройка среды разработки

1.1
Общие сведения

Для начала требуется установить среду разработки, в качестве которой будет
использоваться интегрированная программная среда Code::Blocks.
К основным преимуществам Code::Blocks относятся:

  • свободная лицензия GPL v3.0 ,
    в частности, разрешается бесплатное распространение и использование;
  • среда может работать в операционных системах семейств Windows, Linux, OS X (то
    есть является кросс-платформенной);
  • возможность работы с различными компиляторами.

Этот файл устанавливает как саму среду Code::Blocks, так и среду MinGW , которая
предоставляет компиляторы семейства GCC . Среда MinGW тоже относится к свободно
распространяемому программному обеспечению.

1.2.1.2
Процесс установки

Надо запустить файл codeblocks-10.05mingw-setup.exe .
Появится окно программы установки.

Надо нажать «Next». Появится окно с текстом свободной лицензии GPL v3.0 .

Нажатие кнопки «I Agree» означает согласие с условиями лицензии и позволяет
продолжит установку программы, в ходе которой далее появится окно выбора
компонентов. В этом окне надо выбрать тип установки «Full: All plugins, all
tools, just everything».

После этого надо нажать кнопку «Next». Появится окно с именем каталога для
установки. Лучше, чтобы полное имя каталога не содержало пробелов и других букв, кроме латинских.
Поэтому, например, имя C:Program FilesCodeBlocks
лучше заменить на другое, например, на C:CodeBlocks или
C:ProgramsCodeBlocks .

После этого можно нажать кнопку «Install», которая запускает собственно процесс
установки.

По окончании процесса появится окно с вопросом о запуске Code::Blocks. Лучше
здесь нажать «Нет», чтобы потом проверить запуск Code::Blocks обычным путем.

После этого достаточно будет нажать кнопку «Next», а потом «Finish», чтобы
закончить процесс установки.

1.2.1.3
Первый запуск

Ярлык для запуска
Code::Blocks должен появиться на панели быстрого запуска. Также аналогичный
ярлык должен появиться на рабочем столе.

Code::Blocks можно запускать с помощью этих ярлыков, а также с помощью
стандартного системного меню программ.

При первом
запуске Code::Blocks должно появиться окно автоматического
нахождения компилятора.

Заметьте, что в первой строке должно быть слово «Detected». Это означает, что
найден компилятор. Надо нажать «OK». Процесс первого запуска продолжится, и
будет запущена среда разработки. При этом появится окно с советом дня.

Если вы не хотите, чтобы это окно появлялось при каждом новом запуске
Code::Blocks, то тогда уберите галочку «Show tips at startup в этом окне».
Нажмите «Close», чтобы закрыть это окно.

После этого может появиться следующее окно.

Здесь лучше нажать «OK», чтобы файлы, относящиеся к C/C++, были связаны с
Code::Blocks.

Также можно закрыть окно «Scripting console».

1.2.2
Установка для операционной системы семейства Linux

В случае Linux можно установить Code::Blocks с помощью пакета для нужного
дистрибутива среди перечисленных на этой странице .

Также можно попробовать поискать Code::Blocks в репозитории используемого
дистрибутива Linux. Например, пакет Code::Blocks (10.05-1) имеется в репозитории
Ubuntu 11.04.

1.3
Настройка

Для начала можно более компактно распределить панели инструментов в верхней
части окна.

После этого надо сделать несколько изменений в базовых настройках.

Выберите меню «Settings=>Compiler and debugger…». Появится окно
настроек.

В этом окне надо поставить
галочку для «Produce debugging symbols». Это
изменение позволит выполнять режим отладки, который будет рассмотрен в ходе
одной из последующих лекций.

Не закрывая это окно, надо нажать вкладку «Other options».

И в поле редактирования надо добавить следующую строку.

Finput-charset=CP1251 -fexec-charset=CP866

Это позволить правильно отображать кириллицу в консоли в случае операционной
системы семейства Windows. При использовании Code::Blocks в других операционных системах (например, в Linux) эту строку добавлять не надо
.

Не закрывая это окно, надо нажать слева на рисунок с надписью «Debugger
settings», а затем поставить
галочку для «Evaluate expression under cursor».

После этого нажмите «OK». Все сделанные изменения должны вступить в силу.

2
Первый проект

2.1
Создание проекта

Теперь попробуем создать программу на языке C.

Для этого надо создать проект. Вообще, проект нужен для объединения в единое
целое нескольких файлов. Но и для одного файла в данном случае удобнее сделать
проект. Кроме того, в дальнейшем тогда будет привычнее работать именно с
проектом.

Итак, для создания проекта выберите меню «File», затем в появившемся списке
выберите «New», затем в появившемся списке выберите «Project» (для краткости
подобное действие можно обозначить как «File=>New=>Project», и в
дальнейшем будут использоваться такие более краткие обозначения). В итоге,
должно появиться диалоговое окно.

В нем выберите «Console application» и нажмите «Go». Появится мастер создания
проекта.

Нажмите «Next». Появится следующее окно.

Здесь надо выбрать C (а не C++) и нажать «Next». Появится следующее окно.

В строке «Project title» введите название проекта, например, Project01.
Заметьте, что в строке «Project filenamе» (имя файла проекта) это название будет
скопировано. Это имя файла можно изменить (чтобы оно отличалось от названия
проекта), но для удобства лучше оставить их одинаковыми. Затем, в строке строки
«Folder to create project in» (папка для создания в ней проекта) надо указать
папку, где будет располагаться папка с проектом. Можно либо выбрать какую-нибудь
папку из имеющихся с помощью кнопки «…», либо вручную набрать имя папки,
например, C:Projects .

Тогда именно в выбранной папке будет создана папка с названием проекта, где и
будет расположен сам проект. Можете это проверить, обратив внимание на строку
«Resulting filename».


При задании имени проекта и папки для проекта не допускайте использование имен папок с пробелами или буквами, которые не являются латинскими
(строка
«Resulting filename» не должна содержать пробелов в именах папок, а также не
должна содержать других букв, кроме латинских).

Нажмите Next. Появится следующее окно.

Эти настройки оставьте без изменений. Нажмите «Finish». Проект будет создан.

В левой верхней части (в окне «Management») отобразится проект с папкой
«Sources».

Надо нажать на «+» (или дважды нажать на папку) и эта папка откроется.

В ней будет единственный файл main.c . Надо дважды нажать на него, тогда справа
откроется поле редактирование, в котором отобразится содержимое этого файла (в
верхней части будет закладка с именем файла).

В окне редактирования будет текст первой программы с подсветкой. Обратите
внимание, что для разных частей текста используются свои цвета, что облегчает
чтение текста.

Это первая простейшая программа, которая выводит текст «Hello world!»
(«Здравствуй, мир!»). Традиционно, именно такая программа используется в
качестве первой программы при знакомстве с языком программирования. В случае
Code::Blocks эта программа автоматически создается при создании нового проекта.

Размер шрифта в окне редактирования можно очень просто изменить.
Для этого,
вращайте колесо на мыши, удерживая нажатой клавишу Ctrl.

Еще можно использовать меню «Settings=>Editor» и, нажав в верхней
правой части кнопку «Choose», поменять не только размер шрифта, но и сам шрифт.
Только учтите, что для написания программ лучше использовать шрифты, у которых
все буквы имеют одинаковую ширину. К таким шрифтам, к примеру, относятся шрифты:
Courier New, Courier, Liberation Mono, Lucida Console, Monospace и др.

Если окажется, что на экране отсутствует окно «Management» или какое-нибудь
другое нужное окно, то тогда надо выбрать меню View и в появившемся меню выбрать
пункт, соответствующий нужному окну.

Если вдруг проект оказался закрытым
, например, при выходе и повторном заходе в
Code::Blocks, то его можно заново открыть. Для этого надо выбрать меню
«File=>Recent projects», где, затем, в появившемся списке следует
выбрать нужный проект. Либо можно использовать меню «File=>Open»,
после чего выбрать файл Project01.cbp .

2.2
Сборка и запуск программы

Эта программа будет детально рассмотрена чуть позже, а сейчас попробуем ее
запустить.

Для этого должна быть выполнена компиляция
текста программы (Compiling), и с
помощью компоновки
(Linking) должен быть создан исполняемый файл с расширением.exe , который и будет запускаться. Весь этот процесс компиляции и компоновки
называется сборкой
(Building).

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

(Building), состоящей из этапов компиляции
(Compiling) и компоновки

(Linking). Этот вариант в данном случае кажется более удобным, так как в
соответствующие наименования на английском языке можно наблюдать в процесса сборки.

Интегрированная среда разработки Code::Blocks
позволяет автоматизировать сборку и запуск (Run) программы. Для сборки и запуска
программы достаточно выполнить команду «Собрать и запустить» (Build and run),
нажав кнопку или клавишу F9.
Еще один вариант — это выбрать меню «Build=>Build and run».

В нижнем окне (сообщений о процессе сборки) будут появляться надписи
«Compiling», «Linking» и т.д., что отражает ход компилирования и компоновки
программы.


В результате должно появиться консольное окно, где в верхней части будет
выведено предложение, указанное в программе в кавычках, а именно предложение
«Hello world!».

Таким образом, программа выводит на экран заданную строку.

Под этой строкой будет две строки. Первая из них выдает код возврата программы и
время, затраченное на выполнение программа. Вторая выдает сообщение о том, что
для продолжения надо нажать любую клавишу. Эти две строки вырабатываются
автоматически, если программа запускается из Code::Blocks.

Шрифт, используемый в консольном окне при необходимости можно поменять.

Например, в случае операционной системы семейства Windows, для этого можно
попробовать выполнить следующие действия.

Нажмите правой
кнопкой мыши на значок в верхнем левом углу консольного
окна. Должно появиться всплывающее меню, где надо выбрать пункт «Умолчания».

Появится окно настроек.

В этом окне надо выбрать нужный шрифт (например, Lucida Console). Затем, для
этого шрифта надо выбрать желаемый размер (например, 14). После этого надо
нажать «OK», чтобы сохранить настройки.

Затем, надо закрыть консольное окно, нажав любую клавишу.

После этого надо заново запустить программу, нажав кнопку
или клавишу F9 (или выбрав меню
«Build=>Build and run»).

Теперь консольное окно должно иметь новый шрифт.

2.3
Пояснение программы

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

#include


#include


int
main
()

{
printf(«Hello world!n»
);

return
0;

}

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

Содержимое функции, а в данном случае содержимое всей программы, находится между
фигурными скобками. Они соответствуют begin и end применительно к языку
Паскаль.

Перед именем main слово int , которое задает тип значения,
возвращаемого функцией. В данном случае это целочисленный тип (в дальнейшем
разные типы данных будут рассмотрены отдельно). Функция main (то есть по сути
основная программа) возвращает код выхода из программы. Обычно считается, что
при нормальном выполнении программа должна возвращать значение 0. Возврат этого
значения делается с помощью return 0 закрывающей фигурной скобкой.

Также между фигурными скобками вызов функции с именем printf . Эта
функция используется в данном случае для вывода текста на экран. В круглых
скобках для этой функции указываются ее аргументы. Здесь единственным аргументом
является строка, заключенная в двойные кавычки. Именно эта строка и выводится на
экран функцией printf . Но при этом на экран не выводится сочетание символов
n . Это сочетание обозначает символ перехода на новую строку, который не
печатается на экране, но означает, что в данном месте должен быть выполнен
переход на новую строку.

Чтобы понять смысл символа перехода на новую строку, попробуйте убрать из строки
сочетание n , запустить программу и посмотреть результат. Также попробуйте
поставить сочетание n несколько раз подряд, запустить программу и посмотреть
результат. Потом верните исходный вариант программы.

После вызова функции printf поставлена точка с запятой. С помощью этого
осуществляется разделение отдельных операторов между собой. В частности,
выполняется разделение вызова функции printf и оператора return .

Остается понять, для чего нужны и строка в этой программе. Не
вдаваясь в подробности, можно сказать, что строка нужна для того, чтобы
стало возможным использовать функцию printf , так как эта строка дает
возможность получить информацию об этой функции. Эта строка подключает файл
stdio.h , имя которого указано в скобках в виде знаков < и > . Команда
#include обозначает подключение этого файла. Такое подключение позволяет
использовать функции, объявленные этом файле, в частности, функцию printf .
строка в этой программе вообще-то не нужна, но ее принцип действия
аналогичен, только здесь подключается другой файл (stdlib.h).

2.4
Изменение программы

Теперь можно обратиться к редактированию файла main.c .

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

Содержимое файла main.c было создано автоматически. Но подобную программу можно
записать чуть более кратко, а также немного изменить , добавив
восклицательных знаков.

#include

int
main
()
{
printf(«Hello world!!!n»
);

return
0;
}

Теперь эту программу надо перенести в окно редактирования с помощью обычного
копирования. Для этого надо выделить текст программы и скопировать в буфер
обмена выделенный текст, например, нажав правую кнопку мыши и выбрав в меню
«Копировать»). Затем, надо переключиться в окно редактирования Code::Blocks,
выделить имеющийся там текст
, и вставить текст из буфера обмена, например,
выбрав меню «Edit=>Paste» или выбрав, после нажатия правой кнопки
мыши, меню «Edit=>Paste»). В окне редактирования должен появиться
данный вариант программы.

Сохраните новый вариант программы. Для этого достаточно нажать Ctrl-S (или
выбрать меню «File=>Save file»). Приучите себя сохранять файл после каждого, пусть даже небольшого, изменения текста программы.
Иначе при
«зависании» может быть потерян некоторый объем работы.

Попробуйте запустить этот новый вариант программ.

Задания для самоконтроля

  1. Поменяйте текст «Hello world!!!» на какой-нибудь другой, при этом используя
    русский язык. Запустите программу, чтобы проверить изменения.
  2. Поменяйте значение 0 после return на какое-нибудь другое числовое
    значение, например, на 5. Запустите программу и проверьте что после «Process
    returned» в консольном окне выводится новое числовое значение.
  3. Сделайте так, чтобы при запуске программы перед выводом строки «Hello
    world!!!» происходило смещение на одну строку вниз на экране. Для этого
    поставьте сочетание n в самом начале строки, используемой в качестве
    аргумента для функции printf . Запустите программу, чтобы
    убедиться в правильности выполнения задания.
  4. Сделайте так, чтобы при запуске программы перед выводом строки «Hello World!»
    происходило смещение на несколько строк вниз на экране. Для этого поставьте
    сочетание n несколько раз подряд в самом начале строки, используемой в
    качестве аргумента функции printf (подразумевается строка, расположенная
    внутри скобок в кавычках). Запустите программу, чтобы убедиться в
    правильности выполнения задания.
  5. Выведите строку «Hello world!!!» трижды в трех последовательных строках на
    экране (по одному экземпляру в строке), расставив в нужных местах сочетание
    n .
  6. Сделайте так, чтобы при запуске программы строка «Hello world!!!» выводилась
    точно по центру экрана. Для этого надо сместить строку вниз и вправо,
    используя n и пробелы.
  7. Выведите одновременно три разных слова в трех местах на экране: в верхних
    углах и в центре экрана. Используйте подряд два вызова printf с разными
    строками в виде аргументов, используя в каждом случае особым образом n и
    пробелы.

2.5
Запуск программы вне среды разработки в случае Windows

В папке проекта, путь к которой был указан при создании проекта (см. ),
должна быть папка bin/Debug . И в этой папке должен находится исполняемый файл
Project01.exe , получаемый в результате сборки программы.

Этот исполняемый файл (приложение) можно запустить стандартными средствами
(например, используя «Проводник»), то есть вне
среды разработки Code::Blocks.
Также, например, можно сделать ярлык на этот файл и разместить его на рабочий
стол, чтобы потом оттуда запускать.

Но при таком запуске консольное окно с выводимой строкой появляется и сразу же
исчезает, так как программа завершается сразу же, не дождавшись команды
пользователя. Почему так происходит? Все дело в том, что при запуске из
Code::Blocks автоматически добавляется ожидание нажатия любой клавиши, а само
приложение этого не обеспечивает.

Чтобы реализовать ожидание нажатой клавиши (в случае Windows) надо изменить
программу, добавив несколько строк. Тогда она примет следующий вид.

#include

#include


int
main
()
{
printf(«Hello world!!!n»
);
getch();

return
0;
}

Попробуйте запустить эту программу из Code::Blocks. Для этого поместите
указанную программу в поле редактирования вместо
имеющейся, и запустите
программу, нажав кнопку или
клавишу F9 (или выбрав меню «Build=>Build and run»).

Заметьте, что после вывода «Hello world!!!» теперь больше ничего не выводится,
так как выполняется ожидание нажатия какой-нибудь клавиши. А вот после нажатия
клавиши происходит вывод уже знакомых двух строк («Process returned … » и «Press
any key to continue.»). После этих строк опять выполняется ожидание нажатия
клавиши (которое обеспечивается средой Code::Blocks).

Теперь если выполнить эту программу вне
Code::Blocks, запустив файл
Project01.exe , то в окне выведется заданный текст и программа будет ожидать
нажатия какой-нибудь клавиши для завершения.

Для такой модификации программы требуется две строки: , содержащая
conio.h и, содержащая getch . conio.h необходимо, чтобы
стало возможным вызывать функцию getch . Это аналогично подключение stdio.h
для возможности вызова функции printf . функции getch обеспечивает
ожидание нажатия клавиши.

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

2.6
Сообщения о предупреждениях и ошибках в программе

При сборке программы (при попытке ее запуска после изменений) может происходить
вывод предупреждений и ошибок. Как это происходит, рассмотрим на примере.
Попробуйте запустить следующую программу.

#include

int
main
()
{
printf(«Hello world!!!n»
);
}

Эта программа не содержит return, но она будет запущена. Попробуйте ее запустить.

Однако в процессе компиляции будет выдано предупреждение, связанное с тем, что
нет оператора return . При запуске программы это предупреждение исчезает, так
как оно не влияет на запуск программы. Но его можно прочитать, если выполнить
только построение файла (без запуска приложения). Для этого надо сформировать
команду «Собрать» (Build), нажав Ctrl-F9, или нажав кнопку
, или выбрав меню
«Build=>Build».

Но если с предыдущей сборки или запуска программа не менялась, то новая сборка
выполняться не будет. И в окне внизу будет выведено сообщение о том, что сборка
уже самая свежая, и больше ничего не надо делать для этой команды («Target is up
to date. Nothing to be done.»).

В таком случае надо собрать заново. Для этого надо сформировать команду «Собрать
заново» (Rebuild), нажав Ctrl-F11, или нажав кнопку
, или выбрав меню
«Build=>Rebuild». После формирования этой команды появляется окно для
ее подтверждения. Чтобы подтвердить эту команду надо нажать «Yes» в указанном
окне.

Тогда в нижнем окне можно увидеть строку с предупреждением (синего цвета), а
также сообщение о наличии одного предупреждения (1 warnings).

Вообще, предупреждение позволяет выполнить программу, но сигнализирует
программисту о возможных ошибках или неточностях.

В дальнейшем оператор return для функции main можно не использовать для
краткости, как это сделано в . Но надо учитывать, что из-за
этого появляется предупреждение.

Теперь попробуйте запустить следующую программу.

#include

int
main
()
{
printf(Hello
world
!!!n);

}

Заметьте, что программа не будет запущена. Вместо этого в нижнем окне появятся
строки красным шрифтом, которые сообщают об ошибках.

Строка в программе, где имеется ошибка, подсвечивается красным квадратом.

Надо учитывать, что одна действительная ошибка может приводить сразу к
нескольким сообщениям об ошибке. В данном примере формируется 5 ошибок, поэтому
выводится 5 строк красным шрифтом.

Сравнивая и программу, нетрудно понять, что ошибка возникает
из-за того, что не указаны кавычки. Соответственно выводится ошибка «»Hello»
undeclared». Слово «undeclared» означает «не объявлено», то есть компилятор
пытается понять, что обозначает Hello, и что при этом надо делать. Он не может
найти это слово среди известных слов, поэтому выдает ошибку. Если же это слово
находится в двойных кавычках, то тогда оно воспринимается как некоторая строка,
внутри которой может быть что угодно. Строку можно выводить на экран. Поэтому
после исправления программы (добавления кавычек, где надо) все должно быть
нормально.

Исправьте программу и проверьте ее правильность выполнения.

Задания для самоконтроля

  1. Попробуйте убрать последнюю фигурную скобку и запустить программу. Заметьте,
    что ошибка отмечается в строке, содержащей printf , то есть в предыдущей
    строке. Восстановите правильную программу.
  2. Попробуйте убрать две круглые скобки после main . Заметьте, что ошибка
    отмечается в строке, содержащей фигурную скобку, то есть в следующей строке.
    Восстановите правильную программу.
  3. Попробуйте убрать первую круглую скобку после main . Заметьте, что ошибка
    отмечается в строке, содержащей main , то есть в этой же строке. Восстановите
    правильную программу.

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

3
Базовые сведения

3.1
Целые числа

Для работы с данными, в частности, с целыми числами понадобятся переменные,
которые служат для хранения таких чисел. Для начала переменную надо объявить,
чтобы начать с ней работать.

Объявление переменной выполняется следующим образом.

Тип_переменной имя_переменной;

Например, целочисленная переменная a объявляется следующим образом.

int
a
;

В данном случае переменная a имеет тип int , что обозначает целочисленный тип.

Объявление переменной задает некоторый блок памяти для хранения данных
указанного типа. Естественно, что можно выделять несколько подобных блоков.
Чтобы отличать их друг от друга эти блоки именуются. Например, объявление int a выделяет блок с именем a , объявление int b выделяет блок с именем b и
т. д. При этом можно одновременно объявить несколько переменных, то есть
выделить несколько однотипных блоков с разными именами. Для этого имена этих
блоков перечисляются через запятую после обозначения типа.

int
x
, y
, z
;

В данном объявлении выделяется три разных блока одного типа с разными именами.

Чтобы в выделенный блок данных записать значение, надо соответствующей
переменной присвоить это значение, например, выражение

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

выполняет присвоение переменной a значения переменной b . Можно присвоить
одно и то же значение сразу нескольким переменных. Для этого, например, можно
использовать следующее выражение.

X = y = z = 100;

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

Значение переменной можно вывести на экран с помощью функции printf .
В качестве примера проверьте выполнение следующей программы.

#include

int
main
()
{
int
a
; /*
объявление переменной a
*/


a = 10;

printf(«Значение переменной a = %dn»
, a);

}

Обратите внимание на то, что в программе комментарий «объявление
переменной a». Комментарий — это фрагмент, который нужен для описания той или
иной части программы. Комментарий не влияет на итоговую программу, это просто
добавление в текст, которое в дальнейшем не используется при выполнении
программы. Комментарий должен начинаться с комбинации символов /* и
заканчиваться комбинацией символов */ . При этом комментарий может
располагаться на нескольких строках, для этого комбинация /* будет расположена
в начале первой строки комментария, а комбинация */ будет расположена в конце
последней строки комментария.

В самом начале функции main переменной а. Затем этой
переменной значение 10. В следующей строке с помощью функции
printf значения переменной на экран. Для этого добавляется
дополнительный аргумент функции printf через запятую после строки в кавычках.
Этим дополнительным аргументом является сама переменная a , значение которой
должно быть выведено на экран. Чтобы сообщить функции printf , куда вывести
значение переменной, в выводимую строку добавляется комбинация из двух символов,
а именно %d . Сами эти символы выводиться на экран не будут, но вместо них
будет выведено значение переменной идущей через запятую после строки. Запустите
программу и проверьте ее работу.

При наборе программы обратите внимание, что маленькие и большие буквы — это
разные буквы с точки зрения компилятора. Поэтому, например, набор Main вместо
main приведет к ошибке.

Задания для самоконтроля

  1. Поменяйте значение переменной a на какое-нибудь другое значение и
  2. Попробуйте добавлять комментарии в различные части программы. Убедитесь, что
    они не влияют на выполнение программы. Проверьте использование комментариев,
    занимающих несколько строк подряд.
  3. Проверьте, что произойдет при изменении регистра той или иной буквы, то есть,
    например, при изменении маленькой буквы на большую и наоборот.

Для объявления переменной а и ее инициализации получается подряд идущие две
строки ( и ). Но можно совместить объявление переменной и ее
инициализацию. Вместо указанных двух строк можно записать только одну строку
следующего вида.

int
a
= 10;

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

С помощью функции printf также можно выводить значения сразу нескольких
переменных. Для проверки этой возможности сделайте объявление переменной b и
присвоение некоторого значения этой переменной перед вызовом функции printf .
Важно отметить, что объявление переменной может выполняться в любом месте внутри
фигурных скобок функции, в частности, функции main . После этого преобразуйте
строку с функцией printf следующим образом.

Printf(«a = %d, b = %d n»
, a, b);

Проверьте правильность выполнения программы.

Таким образом, для вывода значений сразу нескольких переменных надо расставить
соответствующим образом символы форматированного вывода %d в строке вывода, а
также перечислить переменные через запятую сразу после строки вывода в порядке
вывода. Тогда вместо каждой комбинации %d будет подставляться значение
очередной переменной из списка переменных, перечисленных через запятую.

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

Printf(«a = %dn(а в квадрате) = %dn(a в кубе) = %dn»
,
a, a * a, a * a * a);

Проверьте правильность выполнения программы.

Заметьте, если вызов функции — это слишком длинная строка, то ее удобно делить
на несколько строк по запятым. Например, как это было сделано в данном тексте,
но этот же фрагмент можно записать и в одну строку по желанию программиста.

3.2
Арифметические выражения

Теперь, чтобы возвести в квадрат или в куб некоторое целое число достаточно
исправить начальное присвоение переменной а, и заново запустить программу.
Поэкспериментируйте с этим. Кроме возведения в квадрат и в куб можно
использовать различные выражения, составляемые на основе арифметических
операций: + , — , * , / .

Задания для самоконтроля

  1. Реализуйте вычисление какой-нибудь формулы, использующей все 4 арифметические
    операции. Значение переменной задавайте в программе. Проверьте правильность
    вычисления этой формулы.
  2. Сделайте вычисление формулы от двух переменных. Значения переменных задавайте
    в программе.

В языке Си также имеется возможность более лаконичной записи некоторых часто
используемых конструкций. Так, для увеличения переменной на заданное значение
используется операция += . Получается, что выражение

A += 10;

эквивалентно выражению

A = a + 10;

при этом, аналогичным образом, вместо знака + могут быть также знаки — ,
* , / , а также некоторые другие знаки операций.

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

int
i
= 10;
i = (i * 2 + 1) / 3 — 5; /*
i = 2
*/

i += 5; /*
i = 7
*/

int
j
= 3;
i *= j; /*
i = 21
*/

i /= 7; /*
i = 3
*/

Задание для самоконтроля

  1. Реализуйте вычисление какой-нибудь формулы, использующей указанные
    возможности (более лаконичной формы записи некоторых арифметических
    выражений).

Кроме того, выражение

обозначает увеличение переменной a на 1, что эквивалентно выражению

A = a + 1;

Аналогичным образом, выражение

здесь означает уменьшение на 1.

Важно отметить, что также существуют выражения вида

A++;
a—;

Они также обозначают увеличение на 1 и уменьшение на 1.

Однако, существует разница между префиксной (++a) и постфиксной формами
(a++) в составе более сложных выражений.

В случае префиксной
формы (++a) сначала происходит увеличение (уменьшение) на 1, а
затем вычисление остального выражения.

В случае постфиксной
формы (a++) сначала вычисляется выражение, а затем выполняется
увеличение (уменьшение) на 1.

Это различие иллюстрирует следующий пример.

Рассмотрим этот же фрагмент, где используется ++y (префиксная форма).

int
x
= 10;
int
y
= 2;
x = x * (++y);
printf(«x = %d y = %dn»
, x, y);

X = 30 y = 3

Здесь сначала y за счет ++y получит значение 3, а уже после этого
произойдет умножение 10 на 3.

Рассмотрим этот же фрагмент, где используется y++ (постфиксная форма).

int
x
= 10;
int
y
= 2;
x = x * (y++);
printf(«x = %d y = %dn»
, x, y);

В ходе выполнения этого фрагмента на экране будет выведена следующая строка.

X = 20 y = 3

Здесь сначала произойдет умножение 10 на значение y, равное 2, а уже после этого
произойдет выполнение y++ .

Надо заметить, что в этих фрагментах совсем не обязательно ставить круглые скобки вокруг
++y и y++ .

Задания для самоконтроля

  1. Проверьте выполнение указанных фрагментов программ. Надо учитывать, что это
    всего лишь фрагменты программ. Их надо добавлять внутрь фигурных скобок
    функции main .
  2. Попробуйте в этих фрагментах убрать круглые скобки вокруг ++y и y++ .
    Убедитесь, что результат от этого не изменится.

3.3
Типы целых чисел

Пока мы рассматривали только тип int для целых чисел. Какое предельные
значения могут быть заданы для переменной типа int ?

Гарантированно
можно задавать значения в диапазоне от -32768
до 32767, так как для переменной типа int отводится не меньше
16 бит.

Но в настоящее время вы часто будете встречать реализации компилятора, где для
переменной типа int отводится 32 бита, то есть эта переменная может принимать
значения в диапазоне от -2147483648 до 2147483647.

Однако, можно быть точно уверенным, что диапазон допустимых значений для
переменной x не будет меньше, чем диапазон от -32768 до 32767.

При использовании предложенной версии Code::Blocks и поставляемого с
этой средой компилятора gcc (или ранее установленного аналогичного компилятора),
скорее всего, вы окажитесь в ситуации, когда переменная типа int может
принимать значения из диапазона -2147483648 до 2147483647.

Проверим это с помощью следующего примера.

#include

int
main
()
{
int
x1
= -2147483648;
int
x2
= 2147483647;
printf(«x1 = %d x2 = %dn»
, x1, x2);
}

X1 = -2147483648 x2 = 2147483647

Если это так, то это показывает, что переменная типа int может принимать такие
значения.

Теперь перед строкой printf можно сделать переменной x2 на 1

#include

int
main
()
{
int
x1
= -2147483648;
int
x2
= 2147483647;
++x2;

printf(«x1 = %d x2 = %dn»
, x1, x2);
}

При выполнении данной программы, скорее всего, будет выведена следующая строка.

X1 = -2147483648 x2 = -2147483648

Заметьте, что значение переменной x2 стало отрицательным предельным значением.
Можно сказать, что при попытке добавить 1 к максимальному положительному
значению (значению 2147483647) произошел выход за пределы диапазона и значению
«по кругу» перешло к предельному отрицательному значению (значению -2147483648).
Произошло так называемое переполнение
.

Если увеличивать x2 не на 1, а на 2, то переменная x2 примет значение
-2147483647 (что на 1 отличается от предельного отрицательного значения).
Проверьте это.

Если увеличивать x2 не на 1, а на 3, то переменная x2 примет значение
-2147483646 (что на 2 отличается от предельного отрицательного значения).
Проверьте это.

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

Задания для самоконтроля

  1. Аналогичным образом проверьте переполнение переменной x1 в сторону
    предельного отрицательного значения, то есть при вычитании некоторого числа из
    этой переменной.
  2. Переполнение возникает и при простой попытке присвоить переменой значения,
    которое выходить за пределы разрешенного диапазона. Проверьте это.

Кроме типа int для объявления переменных существует другие целочисленные
типы.

Например, тип long позволяет гарантированно обеспечить -2147483648 до
2147483647 (тип int не дает такой гарантии для всех компиляторов).

Также в современных компиляторах языка C появился тип long long (пишется в два
слова), который отводит 64 бита для переменной. И это соответствует диапазону
чисел от -9223372036854775808 до 9223372036854775807.

Проверим этот тип на примере следующей программы.

#include

int
main
()
{
long
long
x1
= -9223372036854775808;
long
long
x2
= 9223372036854775807;
printf(«x1 = %lld x2 = %lldn»
, x1, x2);

}

X1 = -9223372036854775808 x2 = 9223372036854775807

Заметьте, что в данном случае при вызове функции printf
комбинация символов %lld , а не %d . Это необходимо, чтобы функция printf
правильно отображала большие числа, соответствующие типу long long .

Задания для самоконтроля

  1. Аналогичным образом проверьте переполнение переменных типа long long в
    данном примере (как это было с переменными типа int).
  2. Попробуйте в данном примере в функции printf использовать %d вместо %lld .

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

#include

int
main
()
{
unsigned
int
x1
= 0;
unsigned
int
x2
= 4294967295;
printf(«x1 = %u x2 = %un»
, x1, x2);

}

При выполнении данной программы должна быть выведена строка.

X1 = 0 x2 = 4294967295

Заметьте, что в данном случае при вызове функции printf
комбинация символов %u , а не %d . Это необходимо, чтобы функция printf
правильно отображала числа, соответствующие типу без знака.

Задания для самоконтроля

  1. Аналогичным образом проверьте переполнение переменных типа unsigned int в
    данном примере (как это было с переменными типа int).
  2. Попробуйте в данном примере в функции printf использовать %d вместо %u .
  3. На основе данного примера попробуйте вывести на экран максимальное значение,
    которое может быть записано в переменную типа unsigned long long (а именно
    число 18446744073709551615). Для правильного отображения с помощью функции
    printf используется комбинацию символов %llu (вместо %u).

3.4
Вещественные числа

Для задания вещественных чисел можно использовать тип float или тип double .
При этом переменная типа float занимает 4 байта, а переменная типа double
занимает 8 байт. Поэтому, в целом, тип double обеспечивает более широкий
диапазон возможных чисел и большее количество десятичных разрядов после
десятичной точки, но недостатком его является двойной расход памяти по сравнению
с типом float .

Также есть еще тип long double , и переменная данного типа может занимать от 8
до 16 байт в зависимости от реализации компилятора. Поэтому часто тип long double обеспечивает еще большую точность в обмен на больший расход памяти.

Проверим выполнение следующей программы.

#include

int
main
()
{
double
x
= 10.5;
printf(«x = %fn»
, x);
}

На экране выведется:

X = 10.500000

Заметьте, что вместо %d используется %f , что объясняется использованием
вещественного типа вместо целого. Проверьте, что будет, если поставить %d вместо
%f .

Как убрать лишние нули при выводе числа? Для этого можно указать количество
разрядов после десятичной точки, например, следующим образом.

Printf(«x = %.1f n»
,x);

При этом число после точки указывает на количество разрядов после десятичной
точки. Поэкспериментируйте с этим.

Кроме того, можно задать количество знаков, используемых для вывода числа,
например, можно установить это количество, равным 10, следующим образом.

Printf(«x = %10.1f n»
,x);

Проверьте, что при этом изменится.

Кроме того, вместо буквы f , идущей в сочетании с % , можно использовать букву
е для вывода числа в экспоненциальной форме, а также букву g для
автоматического подбора формата вывода в зависимости от величины числа. Кроме
того, также можно использовать буквы Е и G .

Задания для самоконтроля

  1. Попробуйте различные варианты вывода вещественного числа и посмотрите, что
    при этом получается (в том числе, используйте буквы e и g вместо f в
    сочетании с %).
  2. Определите самостоятельно, к чему приводит использование букв E и G по
    сравнению с буквами e и g .
  3. Реализуйте возведение вещественного числа в квадрат и в куб, обеспечив вывод
    на экран полученных значений. Выберите подходящий формат вывода вещественного
    числа.

Code::Blocks — свободная интегрированная среда разработки (IDE) с отрытым исходным кодом, которая поддерживает использование различных компиляторов. По умолчанию Code::Blocks использует компилятор MinGW, который поставляется в комплекте (можно скачать дистрибутив и без встроенного компилятора). MinGW – это вариант компилятора GNU C/C++ для Windows. MinGW – это сокращение «Minimalist GNU для Windows». Набор MinGW включает инструменты для программирования с открытым исходным кодом, которые не зависят от каких-либо платных сторонних библиотек. Он используется многими средами разработки (Visual Studio использует собственный компилятор). MinGW включает набор GNU Compiler Collection (GCC), включая компиляторы C, C ++, ADA и Fortran. Code::Blocks имеет открытую архитектуру, что позволяет ему масштабироваться за счёт подключаемых модулей (можно писать программы как под windows, linux, так и под различные микропроцессоры типа avr и stm32). Отладчик кода в Code::Blocks поддерживает точки останова в исходном коде или в данных, которые обрабатывает программа.

Code::Blocks доступен под Windows, Linux и Mac OS X. Сайт проекта — codeblocks.org .


Установка компилятора MinGW

Установка самого Code::Blocks не представляет ничего сложного. Желательно только устанавливать его в папку, в пути к которой нет пробелов или кириллицы. Рассмотрим установку компилятора MinGW. Как правило, дистрибутив Code::Blocks содержит старую версию компилятора MinGW, поэтому желательно скачать Code::Blocks без компилятора MinGW и установить компилятор отдельно. Сначала скачиваем инсталлятор с сайта проекта mingw.org . После запуска появится следующее окно.

Нажмимаем Install
и получаем следующее окно.

Здесь в поле Installation Directory
указываем расположение файлов компилятора. По умолчанию это C:MinGW
, его и оставляем. Нажимаем Continue
и начинается загрузка и установка менеджера для установки MinGW.

Нажимаем Continue
и получаем следующее окно.

Для программированя на C++ выбираем для установки пакеты mingw32-base-bin (A Basic MinGW Installation)
и mingw32-gcc-g++-bin (The GNU C++ Compiler)
, а затем жмём в меню Installation -> Apply Changes
. Появится окно, в котором будет отображаться загрузка выбранных пакетов.

По завершении загрузки пакетов нажимаем на кнопку Close

При первом запуске Code::Blocks автоматически обнаружит установленный компилятор. При возникновении проблем необходимо перейти в меню Settings -> Compiler…
и на вкладке Toolchain executables
проверить правильность пути к MinGW, а также имена файлов компилятора и линковщика. Теперь можно создавать проект.

Создание проекта

Для создания проекта необходимо перейти в меню File -> New -> Project…

В появившемся окне выбираем необходимый тип проекта. Здесь мы видим, что Code::Blocks имеет большое количество шаблонов проектов. В нашем случае это Console application
(консольное приложение).

В следующем окне выбираем используемый язык программирования. Выбираем C++ и нажимаем на кнопку Next
.

Далее в поле Project Title
вписываем название проекта. В нашем случае это Test
. Тут же указываем расположение проекта на диске (поле Folder to create project in
). В указанной нами папке Codeblcoks автоматически создаст папку с ранее указанным названием проекта. Указав имя папки и имя файла, нажимаем на кнопку Next
.

В следующем окне выбираем компилятор. По умолчанию выбран GNU GCC Compiler, который мы и будем использовать.

Жмём Finish
и получаем минимальную программу, так называемый Hello World!

Нажмимаем F9 для компиляции и запуска программы и получаем следующее окно.

Поддержка кириллицы в консоли

Код стандартного проекта, генерируемого средой Code::Blocks, не поддерживает ввод и вывод кириллических символов в консоли. Для решения данной проблемы необходимо сначала внести небольшие изменения в код проекта. Пример исходного кода показан ниже.

Исходный код

#include
#include
using namespace std;
int main()
{
SetConsoleCP(1251); // установка кодовой страницы win-cp 1251 в поток ввода
SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода
cout

Далее необходимо запустить программу, щёлкнуть левой кнопкой мыши по заголовку окна (где показывается путь к запущенному.exe файлу) и в контекстном меню выбрать пункт Свойства
. Затем на вкладке Шрифт
установить шрифт Lucida Console
и выбрать удобный размер шрифта. После этого сообщения в консольных приложениях будут поддерживать символы кириллицы.

Code::Blocks — это бесплатная кроссплатформенная среда разработки на языке C/C++. На данный момент это лучшая бесплатная среда разработки на языке Си.

Code::Blocks разрабатывается для Windows, Linux и Mac OS X.

В среде Windows скачать эту среду удобнее всего в составе сборки , в которой уже есть все необходимые библиотеки для начала работы. Сборка не требует установки и работает по принципу: «Распаковал и работай».

Code::Blocks поддерживает следующие компиляторы:

  • GNU GCC (incl. G77) (Linux)
  • MinGW GCC (incl. G77) (Win32)
  • MSP430 GCC (Win32)
  • TriCore and PowerPC GCC (Win32, Linux)
  • Apple GCC (Xcode) (Mac OS X)
  • Microsoft Visual C++ Toolkit 2003 (Win32)
  • Microsoft Visual C++ 2005 (Win32)
  • Borland’s C++ Compiler 5.5 (Win32)
  • DigitalMars C/C++ (Win32)
  • OpenWatcom (Win32)
  • Intel C++ compiler (Win32)
  • Small Device C Compiler (SDCC)
  • Digital Mars D
  • GDC D Compiler
  • LLVM D Compiler

Готовые шаблоны

CodeBlocks имеет готовые шаблоны проектов, которые позволяют быстро создать минимальное приложение.

Редактор кода

Редактор кода обладает всеми возможностями для комфортной работы программиста:

  • Выделение синтаксиса (можно настроить под себя)
  • Интерфейс с вкладками
  • Автозавершение кода
  • Браузер классов
  • Умный отступ
  • Обмен одним кликом между файлами.h и.c / .cpp
  • Пользовательские сочетания клавиш
  • Внешние настраиваемые «Инструменты»
  • Управление списком дел с разными пользователями

Количество настроек редактора просто огромно:

Кроме общих настроек также настраивается:

  • Сворачивание кода
  • Поля и курсор
  • Подсветка синтаксиса (отдельно по типам файлов)
  • Код по умолчанию для создаваемых файлов (можно вставить автоподпись)
  • Сокращения (при вводе сокращения оно автоматически разворачивается в код)
  • Форматирование кода
  • Способ сохранения и возврата к строчкам кода
  • Автодополнение кода
  • Настройка статистики кода
  • Генерация документирования кода
  • и многое другое

Плагины

Возможности редактора могут быть расширены с помощью плагинов. Например:

  • HEX-редактор
  • Диаграммы Насси Шнейдермана
  • Экспорт исходного кода в другие форматы
  • Макросы нажатия клавиш
  • Горячие клавиши для меню
  • Инкрементный поиск
  • Переменные среды
  • и многие другие

Отладчик

В качестве отладчика по умолчанию CodeBlocks использует GDB — самый популярный отладчик для языка Си, который был разработан еще Ричардом Столменом.

Отладчик позволяет установить точки останова и затем пошагово выполнять код с одновременным мониторингом переменных и массивов. Также вы можете отслеживать стеки вызываемых функций.

Итоги

Количество возможностей и настроек среды CodeBlocks позволяют превратить эту среду в отличный инструмент Си-программиста.

Интегрированная среда разработки (IDE) Code::Blocks (далее CB) представляет собой полноценный продукт для разработки приложений на языке C/C++. CB – это кроссплатформенная среда, разработанная с использованием библиотеки инструментов wxWidgets. Имеются версии среды как для Windows, так и для других операционных систем (ОС) — Linux и Mac OS. Эта IDE абсолютно бесплатна, имеет открытый исходный код и построена полностью с использованием открытых технологий. Одним из самых сильных сторон CB является поддержка создания приложений wxWidgets – т. е. такого программного обеспечения (ПО), которое для отрисовки графического пользовательского интерфейса (GUI) использует API ОС. Другими словами, CB позволяет создавать кроссплатформенное ПО на любой вкус.

CB умеет работать с большим количеством компиляторов. Если в системе их установлено несколько — можно с лёгкостью переключаться между ними, в зависимости от потребности. Плюс ко всему, IDE сама на этапе установки просканирует систему на наличие доступных компиляторов и предложит задействовать один как основной. Доступна возможность позже изменять эти настройки как глобально, так и отдельно для проектов. Для глобальных настроек среды существует целый раздел «Settings» в главном меню CB. Чтобы внести какие-либо специфические настройки, характерные для конкретного проекта, нужно открыть окно свойств проекта. Для этого необходимо вызвать контекстное меню проекта, кликнув по нему правой клавишей мыши, и выбрать пункт «Properties». Сами проекты (открытые в данный момент в IDE) выведены в виде дерева в док-панели «Management», в её вкладке «Projects». Теперь, в открывшемся окне свойств можно настраивать самые разнообразные параметры, начиная от редактирования целей сборки и заканчивая подключением сторонних библиотек. Кнопка «Project’s build options» на вкладке «Project Settings» того же окна свойств позволит очень гибко настроить для конкретного проекта конфигурацию сборки: ключи компилятора, выбрать сам компилятор, подключить библиотеки для линковщика и т. п. Всё это можно проделать для отдельных режимов: «Release» «Debug».

GUI CB построен на основе плавающих и растягивающихся док-панелей, которые можно пристыковывать к любым сторонам главного окна IDE, просто перетаскивая их мышкой. Благодаря этому, можно очень гибко настраивать различные компоновки интерфейса для различных размеров экрана, оптимизируя эргономику GUI. Если мониторов несколько — удобно отделить некоторые панели от основного окна и разместить их на соседних мониторах.

Подсветка, автодополнение кода и средства редактирования в CB делают процесс работ с кодом лёгким и комфортным. Огромный арсенал настроек позволяет очень тонко настраивать среду «под себя». Очень полезным является наличие поддержки работы с переменными окружения. Благодаря этой возможности CB можно очень тесно интегрировать в систему и расширять его возможности, например, таким образом можно подключать библиотеку wxWidgets.

Кстати, для разработки приложений с GUI на основе wxWidgets в CB есть встроенный RAD-инструмент для конструирования GUI – wxSmith. Это довольно мощная утилита, хотя и не совсем простая в освоении.

From Code::Blocks

Build debug version of your project

Make sure that the project is compiled with the -g (debugging symbols) compiler option on, and the -s (strip symbols) option off. This ensures that the executable has debug symbols included.

Compiler optimization switches should be turned off, stripping symbols (-s) must be turned off.

Keep in mind that you may have to re-build your project as up-to-date object files might not be re-compiled with -g otherwise. Please be aware that in compilers other than GCC, -g and/or -s might be a different switch (-s might not be available at all).

Menu => Project => Build Options

Set Project Build Options

Add Watches

In version 10.05

Open The Debugger Watches Window

Open Watch Window

The list of watches can be saved to a file and later re-loaded. To do so, right click in the list of watches and select «save watch file» (and «load watch file» to re-load them again).

Save watch.png

In 12.11 or latest nightly builds

In the latest nightly builds the watches window has been redesigned and works differently that the one in 10.05.

Currently there are three ways of adding watches in it:

  1. Click in the empty last row in the watches window, type the name of the variable (or full expression) and hit enter.
  2. While the debugger has stopped on a breakpoint select a variable name or full expression, right click to open the context menu and then select «Add watch ‘expression'».
  3. Select an expression in the editor and drag’n’drop it in the watches window.

The automatic inclusion of local variables and function arguments have being reimplemented in 13.12.

Double-clicking in the Call stack window

Note : when debugging, double-clicking on a frame in the «call stack» debug window does not automatically update the variables displayed in the «watches» debug window.

You have to right-click on a frame in the «call stack» debug window and select «Switch to this frame».

DWCB watches 01.png

Set Breakpoints

Find the line containing the variable to be watched. Set a breakpoint in a position that will allow you to observe the variable value.

Menu => Debug => Toggle Breakpoint

Choose Watch Variable

Run the debugger until the breakpoint is reached. Right click the variable to set a watch in the Watch Window.

Breakpoints may also be toggled with a left click in the left editor margin.

Notes

Script support

Code::Blocks natively use squirrel script language to deal with gdb, see: Debugger scripts. As gdb 7.x support python pretty printer, so, it can also use gdb(with python support) to show some complex variable values. see forum thread [/index.php/topic,11301.msg77000.html#msg77000 unofficial MinGW GDB gdb with python released] and Use GDB python under Codeblocks for more details.

Single file debugging

To debug your program you need to setup a project. Single file programs are not supported.

Path with spaces

Breakpoints could not work if the path/folder you’ve placed your project contains spaces or other special characters. To be safe use English letters, digits and ‘_’.

Forking

If your application uses the ‘fork’ system call you’ll have trouble stopping the debugged program or setting breakpoints on the fly.
Here is a link explaining the forking modes of GDB: http://sourceware.org/gdb/onlinedocs/gdb/Forks.html

Update to the newest version of MinGW

From gdb 6.8 released on April 2008, it supports many features which does not exist in early versions. You can update by installing binaries from TDM-Mingw package.

Use 32bit CDB for 32bit programs and 64bit CDB for 64bit programs

It seems that debugging a 32bit program with 64bit CDB doesn’t work on Windows 7, but 32bit CDB works perfectly.

Note: This should no longer be the case with Code::Blocks’ rev>=10920. See the ticket for details: #429

Limits on the early version of MinGW

If your are still using the MinGW and gdb 6.7 from 8.02 setup files, setting breakpoints in the constructor will not work. Here are some tricks.

Breakpoints do not work in constructors or destructors in GDB 6.7 and earlier version. They do, however, work in routines called from them. This is an early GDB restriction, not a bug. So you could do something like:

Debugging ctor/dtor

…and place a breakpoint in «DebugCtorDtor» at the line «int i = 0;» . The debugger will break at that line. If you then step the debugger (Menu Debug => Next Line; or alternatively F7) you’ll reach the code in the constructor/destructor («is_initialized = true/false;»).

See also

  • Debugger scripts
  • Pretty Printers

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

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. Окна консоли не будет.

Return to FAQ.


Q: How do I troubleshoot a compiler problem?

A: I would start by turning on full Compiler logging.

This is done by selecting the «Full command line» option Under menu «Settings» -> «Compiler» -> Global compiler settings -> [the compiler you use] -> «Other Setting» tab, «Compiler logging». In 12.11 and newer this is enabled by default.

This option will make Code::Blocks output the exact commands it uses to compile your code.

Things to remember:

  • Look at the «Build Log» NOT the «Build Message» tab
  • Do a re-build instead of build in order to get a full build log.
  • You should review all the commands and their options;
  • If you have compiled your app before, do a re-build (or clean before build) to see all compiling / linking steps;
  • If you don’t know what an option or a command does please read the documentation for the compiler/linker you’re using;
  • Look for missing commands;
  • For every source file (.cpp; .c; .d; etc) in your project, you must have at least one command in the log. This command must produce an object file (file extension .o if using gcc/g++ and .obj if using Visual Studio);
  • Every object file should be linked in the final executable, if not there are undefined symbols errors;
  • Remember the file extension matters: *.c is compiled as C file, *.cpp is compiled as C++ file. Read more
  • If you have no luck, you can try to ask in the forum, but read first «How do I report a compilation problem on the forums»

Q: What do I need to know when using 3rd party libs?

Here are some basics about typical mistakes done when working with third party libs, including wxWidgets. The following is valid for every third party SDK / toolbox / component you want to use and describes what steps your have to do:

  • Download the sources of the component OR a ready-to-use development version. The difference: While the first requires you to compile the component yourself it will definitely work with your compiler. The latter must be compiled in a compatible way: So a compatible compiler, compatible OS, compatible settings. Inspect the components docs about how to get what you want.
  • Place the component sources and compiled parts anywhere you want It is not required to copy such parts to any other folder you might think — in fact, this may even be dangerous in case you overwrite existing files.
  • Create a project where you want to use your component.
  • In the compiler settings (Project->Build Options->Search directories->Compiler), point to the folder, where the include files of your component are. For WX this is special, as usually you include like #include <wx/foo.h>. So do not point to [Component_Folder]includewx, but to [Component_Folder]include instead.
  • Note that the compiler only needs to know the interfaces / classes / structures / methods, it will not throw an error about undefined references or alike. The compiler will only complain in case it cannot find references in terms of include files. If thats the case, adjust your project’s compiler settings. Keep in mind that you do need to fulfil the requirements of your component itself, too. Thus, wxChart for example will need for wxWidgets, too. So — you may need to do the same process for wxWidgets, too before you can use wxChart — unless you have done that already.
  • In the linker settings (Project->Build Options->Search directories->Linker), point to the folder where you have your compiled library. A library usually ends with *.a or *.lib. Note that there are generally two types of libs: Static libs (after linking you are done) and Dynamic libs (where you link against an import lib but require another dynamic lib at runtime).
  • In the linker settings (Project->Build Options->Linker settings) add the library/libraries you need to link against in the right order to the list of libs to link against. Order matters — again, dependencies must be taken into account. Inspect the developers guide of the component to know the dependencies. On Windows, this may include the MSDN, too which tells you what libraries you need to link against for certain symbols you or the library may make use of.
  • The linker will never complain about includes it cannot find. Because the linker just links object files or library files together. But the linker may complain about unresolved symbols which you need to provide. So if that happens, either your setup is missing a lib, or the order is wrong.

Again, this is valid for all third party stuff you want to use. Its heavily platform and compiler dependent. The IDE should be less of concern for you. Every IDE can be setup in a way it will compile and link your stuff unless you provide everything needed as explained above.

If you don’t understand parts written here it is strongly recommended you start with a book about general programming in C/C++ that covers library handling in more detail.

For the example wxChart in the end is not easy for starters. Usually you need to compile wxWidgets before, then wxChart and usually not all dependencies are explained in the docs and it behaves differently on different OS’es / compilers. Also, wcChart can be compiled in many flavours — so you need to make sure the flavour matches a) your needs and b) the way you compiled wxWidgets.

Q: My simple C++ program throws up lots of errors — what is going on?

If you have a C++ program like this:

 #include <iostream>
 int main() {
   std::cout << "hello worldn";
 }

and when you compile it you get errors like this:

 fatal error: iostream: No such file or directory

then you have probably given your source file a .c extension. If you do that, the GCC compiler (and others) will probably attempt to compile the file as a C program, not as C++. You should always give your C++ source files the extension .cpp to make sure the compiler handles them correctly.

Q: I imported a MSVCToolkit project/workspace, but Code::Blocks insists on trying to use GCC. What’s wrong?

A: A little documentation problem ^^;. The «default compiler» is usually GCC, so when you imported it with «the default compiler», you told it to use GCC. To fix this situation, go to «Project», «Build Options» and select VC++ Toolkit as your compiler.

Another possibility is to put the Microsoft compiler as the default one. To do this, choose Settings — Compiler, choose the Microsoft compiler in the Selected Compiler section (top of dialog box) and press the Set as default button.

From now onwards, for all new projects the Microsoft compiler will be taken by default.

Q: When compiling a wxWidgets project, I get several «variable ‘vtable for xxxx’ can’t be auto-imported». What’s wrong?

A: You need to add WXUSINGDLL in «Project->Build options->Compiler #defines» and rebuild your project (or create a new project and use the «Using wxWidgets DLL» project option which adds «-DWXUSINGDLL» to Project->Build options->Other options).
Other errors with the same resolution are:
‘unresolved external symbol «char const * const wxEmptyString» (?wxEmptyString@@3PBDB)’ or similar.
If you were using 1.0-finalbeta and were trying to build a statically linked wxWidgets project, the cause of the problem was some faulty templates. But that’s fixed now.

Q: I can’t compile a multithreaded app with VC Toolkit! Where are the libraries?

A: Sorry, no fix for your problem…

Your problem doesn’t come from CodeBlocks. It exists, because the free VC toolkit (VCTK) doesn’t provide all the libraries and tools which come with Visual C++ (VC) which isn’t free, unfortunately.

Try buying a full-fledged VC++, or even better, download MinGW

The libraries that can be obtained free of charge are:

Paths:

(VCT3) Visual C++ Toolkit 2003 - C:Program FilesMicrosoft Visual C++ Toolkit 2003lib
(PSDK) Platform SDK - C:Program FilesMicrosoft Platform SDKLib
(NSDK) .NET 1.1 SDK - C:Program FilesMicrosoft Visual Studio .NET 2003Vc7lib

C runtime libs:

LIBC.LIB 	Single-threaded, static link                                          (VCT3, NSDK)
LIBCMT.LIB 	Multithreaded, static link                                            (VCT3, NSDK)
MSVCRT.LIB 	Multithreaded, dynamic link (import library for MSVCR71.DLL)          (NSDK)
LIBCD.LIB 	Single-threaded, static link (debug)                                  (VCT3, NSDK)
LIBCMTD.LIB 	Multithreaded, static link (debug)                                    (NSDK)
MSVCRTD.LIB 	Multithreaded, dynamic link (import library for MSVCR71D.DLL) (debug) (NSDK)

C++ libs:

LIBCP.LIB 	Single-threaded, static link                                          (VCT3, PSDK)
LIBCPMT.LIB 	Multithreaded, static link                                            (VCT3)
MSVCPRT.LIB 	Multithreaded, dynamic link (import library for MSVCP71.dll)          (none)
LIBCPD.LIB 	Single-threaded, static link (debug)                                  (VCT3)
LIBCPMTD.LIB 	Multithreaded, static link (debug)                                    (none)
MSVCPRTD.LIB 	Multithreaded, dynamic link (import library for MSVCP71D.DLL) (debug) (none)

Try setting the library linker directories to:

C:Program FilesMicrosoft Visual C++ Toolkit 2003lib
C:Program FilesMicrosoft Platform SDKLib
C:Program FilesMicrosoft Visual Studio .NET 2003Vc7lib

in that order.

The ones listed as (none) above are actually present in the IA64 and AMD64 subdirectories of the PSDK lib directory. Not sure if these would work on 32-bit windows, however, they may if they are
meant to work in 32-bit compatibility mode on the 64-bit processors. Worth a try. Otherwise, you
can link statically to the C++ library instead of using MSVCP71.dll. If you really want to link against MSVCP71.dll you can try to create MSVCP71.LIB from the dll using lib.exe and sed. Search google for «exports.sed» for detailed steps.

See also: tclsh script to extract import .lib from (any?) DLL (MinGW)

See also: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp

See also: http://sapdb.2scale.net/moin.cgi/MS_20C_2b_2b_20Toolkit

Q: I get this error when compiling: Symbol «isascii» was not found in «codeblocks.dll»

A: Make sure you didn’t mix up the MSVC headers or libs with the MinGW ones.

Q: My build fails with multiple undefined reference errors?

Example:

undefined reference to `WSACleanup@8
undefined reference to `WSACleanup@0

A: Most of the time it is because the required library is not linked with your project. Go to Project->Build options…->Linker settings (tab) and add the required library or libraries.

If the error includes a line number, it is likely that this is a problem with your code. Track down down your function declarations and implementations. Ensure they all match up, are spelled correctly, and have the correct scope resolution.

VERY often you can get help by just googling for the name of the undefined reference, for this example its «WSACleanup». Usually one of the first links is the SDK documentation, like this from MSDN for WSACleanup. You’ll find there a lot useful information, including what libraries you need to link against, as for the exsample:
Requirements

  • Minimum supported client: Windows 2000 Professional
  • Minimum supported server: Windows 2000 Server
  • Header: Winsock2.h
  • Library: Ws2_32.lib
  • DLL: Ws2_32.dll

The header file Winsock2.h you need to include in your sources. Most likely you have done that already because otherwise you would have gotten a compiler error unable to find the function declaration. The library you need to link against, you can remove any prefix like «lib» and the file extension like «.lib», «.a» or «.so» — so just type «Ws2_32» in the linker options. Also make sure you have added the path to that library in the linker include path’s options, otherwise the linker will complain that it cannot find that library you want to link against. You also know, that you should distribute Ws2_32.dll for the runtime version of you app, luckily this one usually ships with Windows anyways, so no need to do something here.

Q: My build fails in the compile/link/run step with a Permission denied error?

A: There are several possible causes for this:

  1. The output directory does not have read/write access.
    • Either change control settings on the output directory, or move the project to different location.
  2. A previous instance of the executable failed to terminate properly.
    • Open your system’s equivalent of Process/Task Manager, search the list for the name of the executable Code::Blocks is trying to output, and terminate it.
    • Logging off or rebooting will achieve the same effect.
  3. The executable is open.
    • If the executable is open in a hex-editor or actively being run, close it.
  4. Security software is interfering.
    • The target file is locked while an antivirus programming is scanning it; either wait a few seconds for the antivirus scan to finish, set an exception in the antivirus settings, or (temporarily) disable the antivirus program.
    • Firewalls with very strict settings sometimes block execution; try reducing the firewall’s settings or adding an exception.
    • Switching security software may have left traces behind that are interfering; hunt down the remnants of the old antivirus/firewall software and remove them.
  5. The file/library cannot be found.
    • Double check all of the compiler and linker search directories (including any variables they may be using) are properly setup.
  6. Code::Blocks was improperly installed.
    • Mixing binaries from a stable release and a nightly build (or even two different nightly builds) is highly likely to cause a slew of problems; reinstall Code::Blocks in an empty directory.
  7. Multiple installed compilers are interfering with each other.
    • If they are not required to keep, completely remove all but the most used compiler.
    • If several compilers are required, ensure that none of them are in the system path (this is so that Code::Blocks will be able to manage all paths).
    • Also, do not place any compilers in their default installation path (for example C:MinGW), as some compilers are hard-coded to look for headers in a default path before searching their own respective directories.
  8. On windows 7, the service «Application Experience» is not running as explained on stackoverflow.

See also: [/index.php/topic,15047.0.html Permission denied forums discussion]

Q: My build fails to link due to multiple definition of xyz errors?

A: GCC 4.6.1 mingw target (Windows) is known to occasionally (and erroneously) report this if link-time optimization (-flto) is used.

First, of course, check that no token has been defined multiple times. If the source code is clean, and yet the errors persist, adding linker switch (Project->Build options…->Linker settings (tab))

-Wl,--allow-multiple-definition

will enable the code to link.

See also: Bug 12762

Q: How can I change the language of the compiler (gcc) output to english?

A: Codeblocks 12.11 or higher: Settings->Environment->Environment Variables. Add «LC_ALL» with value «C». ->Set Now -> Ok

Since a few releases gcc is localized. This can make difficult to find (google  ;) ) solutions for specific problems. With this setting the output is again in english.

!! this can break displaying of non-aschii characters so you can also use LC_ALL = en_US.utf8 (/index.php/topic,17579.msg120613.html#msg120613)


Return to FAQ.

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

Содержание

  • 1. Не хватает нужных компонентов (компилятора, отладчика, библиотек)
  • 2. Неверно указаны пути к компонентам
  • 3. Символы кириллицы или пробелы в пути к программе CodeBlocks
  • 4. Символы кириллицы или пробелы в пути к разрабатываемой программе
  • 5. Не все пункты меню активны
  • 6. При запуске компилятора ничего не происходит
  • 7. Программа работает из CodeBlocks, но если запустить ее отдельно, то она сразу закрывается
  • 8. CodeBlocks запускает предыдущую версию программы
  • 9. Компиляция проходит без ошибок, но программа не запускается
  • 10. Антивирус блокирует запись программы на диск
  • 11. Windows блокирует работу CodeBlocks
  • 12. Отладчик не останавливается на точке останова
  • 13. Неверное указание пути к компилятору
  • 14. Программа на GTK+ работает только в среде CodeBlocks
  • 15. При запуске программы постоянно появляется окно консоли

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

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. Окна консоли не будет.

Устанавливаем Code::Blocks + MinGW

Здравствуйте, уважаемые читатели! Здесь пойдет речь об установке среды разработки программ на C++ — Code::Blocks. Данная программа бесплатная, но от этого она не становится мало функциональной пустышкой. В ней присутствуют множество функций для разработки небольших программ на C++, а также серьезных проектов. Вместе с ней в комплекте можно скачать компилятор MinGW, который необходим для компиляции ваших программ.

 Скачивание необходимых файлов

В начале нам нужно скачать на компьютер файл необходимый для установки Code::Blocks и MinGW. Благо, на официальном сайте Code::Blocks, нам предоставляют возможность скачать и установить оба компонента одним кликом (может двумя). Для скачивания следуем инструкции:

  1. Переходим на официальный сайт данной IDE (http://www.codeblocks.org/downloads).
  2. Здесь у вас есть выбор способа установки, но я вам советую кликнуть по ссылке Download the binary release. Это самый простой способ из присутствующих, о котором дальше и пойдет речь.
  3. На открывшийся странице выберите свою операционною систему или найдите ее самостоятельно, пролистав вручную.
  4. Теперь в таблице с возможными файлами для установки выбираем тот, в названии которого присутствует mingw (например, codeblocks-<версия>mingw-setup.exe).
  5. Сохраните файл и дождитесь окончания загрузки. Файл весит не много, так что заскучать не успеете 🙂 .

После скачивания установочного файла можем приступать к самой установке программы. Для этого нам потребуется совершить пару телодвижений:

  1. Открываем пакет установки Code::Blocks.
  2. Жмем Next >.
  3. Жмем I Agree.
  4. Здесь мы можем выбрать различные виды установки либо настроить ее самостоятельно. Я предпочитаю Full версию установки. Жмем Next >.
  5. Можете выбрать другой каталог установки Code::Blocks вместо стандартного. Жмем Install.
  6. Ждем…
  7. Жмем Finish!

Теперь у вас установлена полноценная среда разработки Code::Blocks!

Однако на этом еще не все. Остался последний штрих.

При первом запуске у вас попросят указать, какие расширения файлов будут привязаны к Code::Blocks по умолчанию. Здесь особой разницы нет. Я выбираю Yes, associate Code::Blocks with C/C++ file types.

Если мы все правильно сделали, то должны увидеть экран приветствия:

Стандартное окно приветствия Code::Blocks

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

Для этого жмем File -> New -> File… После чего открывается диалоговое окно:

Диалоговое окно выбора типа файла

  1. Выбираем C/C++ source. Жмем Go.
  2. Жмем Next >. Можем поставить галочку Skip this page next time чтобы в следующий раз лишний раз не пролистывать эту страницу.
  3. Выбираем C++ и идем дальше.
  4. Выбираем расположения файла и жмем Finish!

Теперь у вас должно открыться окно для написания кода. Скопируйте или напишите сами данный код:

#include <iostream>

using namespace std;

int main() {

    cout << «Hello, world!» << endl;

    return 0;

}

Теперь для запуска программы нажмите кнопку F9 (компиляция и запуск). У вас должно появится окно где будет написано наше тестовое сообщение:

Hello, world!

Process returned 0 (0x0) execution time : 0.020 s

Press any key to continue.

Вот и наше тестовое сообщение!

Возможные ошибки

Довольно распространенной проблемой является отсутствия компилятора по указанному пути в настройках Code::Blocks. У этой проблемы есть две причины:

  • Либо вы установили пакет без MinGW. Соответственно вернитесь вверх и проверьте правильность выполненных шагов.
  • Возможно, автоматические прописанный путь к компилятору является неверным. Тогда укажите путь к компилятору самостоятельно (он должен быт в директории установленного Code::Blocks, которую вы указывали при установке): Settings -> Compiler -> Global compiler settings -> Toolchain executables:

Настройки компилятора в Code::Blocks

Если это не решило проблему, то пишите в комментарии свою проблему (также дополняйте сообщения скриншотами ошибок) и мы обязательно поможем ее решить.

Ну а на этом все! Удачи!

33 / 32 / 7

Регистрация: 13.12.2010

Сообщений: 342

1

09.09.2011, 21:48. Показов 20206. Ответов 11


Помогите разобраться.
Качал пару версий code block — создаю новый проект, выбираю консоль, с++, пишу код (hello world), run and build — на выходе просто НИЧЕГО! Только сообщение, что-то вроде «неправильный компилятор».

Пожалуйста, подскажите откуда скачать code block в полной сборке (с компилятором и прочим), а также как его настроить…

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь

0

Уничтожитель печенек

281 / 209 / 49

Регистрация: 07.02.2010

Сообщений: 724

09.09.2011, 21:50

2

0

33 / 32 / 7

Регистрация: 13.12.2010

Сообщений: 342

09.09.2011, 21:52

 [ТС]

3

Спасибо!
Качал уже, результат описан выше — возможно что-то с настройками подскажите.
Если не сложно, просто детально распишите свои действия при написание элементарной проги в code block на с++ (того же hello world).
Просто хочу понять, что я делаю не так.

0

Уничтожитель печенек

281 / 209 / 49

Регистрация: 07.02.2010

Сообщений: 724

09.09.2011, 21:56

4

1

33 / 32 / 7

Регистрация: 13.12.2010

Сообщений: 342

09.09.2011, 21:59

 [ТС]

5

Спасибо, завтра почитаю — отпишу.
проблема очень похожа на Помогите настроить CodeBlocks…

0

Уничтожитель печенек

281 / 209 / 49

Регистрация: 07.02.2010

Сообщений: 724

09.09.2011, 22:06

6

Вам нужно прописать путь к компилятору, т.е «Settings->Compiler and Debugger» и выбрать соответствующие файлы

1

33 / 32 / 7

Регистрация: 13.12.2010

Сообщений: 342

10.09.2011, 15:15

 [ТС]

8

«Вам нужно прописать путь к компилятору, т.е «Settings->Compiler and Debugger» и выбрать соответствующие файлы»

Вы правы, выбрал папку MinGW (уже идет в codeblocks) и все стало работать. Кому интересно, скрины ниже.

1

33 / 32 / 7

Регистрация: 13.12.2010

Сообщений: 342

10.09.2011, 16:43

 [ТС]

10

Читал эту тему — только теперь обратил внимание, что там упоминалось о MinGW.
Извините, но тут более понятный мне ответ.
Но все равно спасибо, что отозвались и помогли!

0

Эксперт С++

8384 / 6146 / 615

Регистрация: 10.12.2010

Сообщений: 28,683

Записей в блоге: 30

29.12.2012, 15:18

11

Содержимое папки MinGW/bin

addr2line.exe 29. 03. 2012 0:44 Приложение 902 КБ
ar.exe 29. 03. 2012 0:44 Приложение 926 КБ
as.exe 29. 03. 2012 0:45 Приложение 1*402 КБ
c++.exe 29. 03. 2012 3:15 Приложение 1*443 КБ
c++filt.exe 29. 03. 2012 0:44 Приложение 901 КБ
cpp.exe 29. 03. 2012 3:15 Приложение 1*441 КБ
dlltool.exe 29. 03. 2012 0:44 Приложение 958 КБ
dllwrap.exe 29. 03. 2012 0:44 Приложение 76 КБ
elfedit.exe 29. 03. 2012 0:44 Приложение 63 КБ
g++.exe 29. 03. 2012 3:15 Приложение 1*443 КБ
gcc.exe 29. 03. 2012 3:15 Приложение 1*441 КБ
gcc‐ar.exe 29. 03. 2012 3:15 Приложение 54 КБ
gcc‐nm.exe 29. 03. 2012 3:15 Приложение 54 КБ
gcc‐ranlib.exe 29. 03. 2012 3:15 Приложение 54 КБ
gcov.exe 29. 03. 2012 3:15 Приложение 1*146 КБ
gdb.exe 29. 03. 2012 3:58 Приложение 5*126 КБ
gdbserver.exe 29. 03. 2012 3:58 Приложение 210 КБ
gfortran.exe 29. 03. 2012 3:15 Приложение 1*444 КБ
gprof.exe 29. 03. 2012 0:45 Приложение 968 КБ
i686‐w64‐mingw32‐c++.exe 29. 03. 2012 3:15 Приложение 1*443 КБ
i686‐w64‐mingw32‐g++.exe 29. 03. 2012 3:15 Приложение 1*443 КБ
i686‐w64‐mingw32‐gcc.exe 29. 03. 2012 3:15 Приложение 1*441 КБ
i686‐w64‐mingw32‐gcc‐4.7.0.exe 29. 03. 2012 3:15 Приложение 1*441 КБ
i686‐w64‐mingw32‐gcc‐ar.exe 29. 03. 2012 3:15 Приложение 54 КБ
i686‐w64‐mingw32‐gcc‐nm.exe 29. 03. 2012 3:15 Приложение 54 КБ
i686‐w64‐mingw32‐gcc‐ranlib.exe 29. 03. 2012 3:15 Приложение 54 КБ
i686‐w64‐mingw32‐gfortran.exe 29. 03. 2012 3:15 Приложение 1*444 КБ
ld.bfd.exe 29. 03. 2012 0:45 Приложение 1*282 КБ
ld.exe 29. 03. 2012 0:45 Приложение 1*282 КБ
libgcc_s_sjlj‐1.dll 29. 03. 2012 3:38 Расширение при… 124 КБ
libgfortran‐3.dll 29. 03. 2012 3:38 Расширение при… 1*039 КБ
libgomp‐1.dll 29. 03. 2012 3:38 Расширение при… 83 КБ
libquadmath‐0.dll 29. 03. 2012 3:38 Расширение при… 716 КБ
libssp‐0.dll 29. 03. 2012 3:38 Расширение при… 44 КБ
libstdc++‐6.dll 29. 03. 2012 3:38 Расширение при… 986 КБ
libwinpthread‐1.dll 29. 03. 2012 3:38 Расширение при… 82 КБ
mingw32‐make.exe 29. 03. 2012 4:00 Приложение 218 КБ
nm.exe 29. 03. 2012 0:44 Приложение 913 КБ
objcopy.exe 29. 03. 2012 0:44 Приложение 1*086 КБ
objdump.exe 29. 03. 2012 0:44 Приложение 1*490 КБ
python27.dll 29. 03. 2012 3:38 Расширение при… 2*235 КБ
ranlib.exe 29. 03. 2012 0:44 Приложение 926 КБ
readelf.exe 29. 03. 2012 0:44 Приложение 375 КБ
size.exe 29. 03. 2012 0:44 Приложение 904 КБ
strings.exe 29. 03. 2012 0:44 Приложение 902 КБ
strip.exe 29. 03. 2012 0:44 Приложение 1*086 КБ
windmc.exe 29. 03. 2012 0:44 Приложение 929 КБ
windres.exe 29. 03. 2012 0:44 Приложение 1*044 КБ

И такой вопрос можно ли (и как ?) отлучить программу от dll-лок ?

0

0 / 0 / 0

Регистрация: 01.04.2018

Сообщений: 1

01.04.2018, 20:16

12

А у меня нет такой папки

0

OK, so I downloaded Codeblocks and I already have a cygwin terminal on my computer that I regularly use to compile and run C programs, but when I try to build a program in CodeBlocks, it gives me an error:

The compiler's setup (GNU GCC Compiler) is invalid, so Code::Blocks cannot find/run the compiler.

I don’t know why it can’t find my compiler or why it’s looking for GNU GCC compiler when I have Cygwin GCC as the default compiler.

Alexey Gorozhanov's user avatar

asked Mar 10, 2014 at 19:29

lbomb22's user avatar

6

I faced the same problem. I have fixed out by going to Setting -> Compiler -> Global Compiler Settings -> Toolchain Execuatables (tab). There, click on Program Files and then rename C compiler to gcc.exe and C++ compiler to g++.exe.

answered Aug 14, 2015 at 15:29

SilverSurfer's user avatar

SilverSurferSilverSurfer

6461 gold badge6 silver badges23 bronze badges

I know this is an old question but let me see if I can help. First of all, on the download page make sure you downloaded codeblocks-13.12mingw-setup.exe and NOT codeblocks-13.12-setup.exe. Of course the version numbers may change but pay attention to the name. Then after installing codeblocks, go to Settings->Compiler->Toolchain executables. From here, change the C compiler to gcc.exe and C++ compiler to g++.exe.
Hope this helps anyone else going through this problem :-)

answered Sep 22, 2015 at 13:00

Patrice Andala's user avatar

I think the major problem is that most of us creates a project and then applies the Compiler’s configuration and waits till the project applies the configured changes.

Well , this is TOTALLY WRONG if you created the project before configuring the Compiler , the project won’t change it’s Compiler , so you need to reconfigure your created project by :
Right Click on the project -> Select Build Options -> Reconfigure the selected compiler to CygwinGCC .

answered Dec 21, 2019 at 5:13

TheSalamov's user avatar

TheSalamovTheSalamov

8379 silver badges16 bronze badges

0

If you change the default path of codeblocks while installation, then you may be suffering from this problem.

If you go to Settings>Global compiler settings>Toolchain executables(tab) and see the Compiler’s installation directory, it may be set by default to C:MinGW something like that.

Just press the Auto-detect button and it will find the actual directory of the compiler.

Click OK and you are ready to Code!

answered Sep 4, 2019 at 11:41

Arulyan Asokan's user avatar

I think you have not set your compiler.You have to choose the compiler you want to use. For this purpose click ‘Settings’->
‘Compiler and Debugger’ and select
‘Other Settings’ in the drop-down field.Choose your own compiler and save it.Now rerun your program.

answered Mar 10, 2014 at 19:40

learner's user avatar

learnerlearner

4,3927 gold badges49 silver badges95 bronze badges

1

Go to:

Settings -> Compiler... -> Toolchain executables(Tab)

In the compiler’s installation directory choose the folder where your compiler is.

valter

answered Mar 10, 2014 at 19:45

γηράσκω δ' αεί πολλά διδασκόμε's user avatar

2

I solved this problem
I firstly downloaded codeblocks-17.12-setup.exe and then added MinGW directory location at Setting -> Compiler -> Global Compiler Settings -> Toolchain Execuatables (tab) -> compiler installation directory» but it did n’t work then downloaded codeblocks-13.12mingw-setup.exe and did the same process again and it worked.

answered Jul 17, 2019 at 19:30

Saif Ul Islam's user avatar

Go for this tutorial

As you already have a compiler installed, start from item «Code::Blocks Configuration».

In a nutshell,

1.Settings — Compiler

2.Select Compiler

3.Go for Toolchain executables

4.Find your compiler installation directory and configure the settings accordingly

5.Settings — Debugger

6.Select Default in the drop-down menu

7.Fill in the textbox Executable path with the correct path

8.Click OK, close the window and you are good to go.

Dulaj Kulathunga's user avatar

answered Jan 4, 2020 at 7:51

frizzo's user avatar

I tried this way :

  1. You need to download tdm64-gcc 9.2.0 or current version.
  2. Run it and in the setup, click create.
  3. Select MinGW / TDM (32-bit) — Next.
  4. Installation Directory — Next.
  5. Select the type of instal -> TDM-GCC — 32

In the options below make sure that the «Add to path» option is checked. — Next.

On codeblocks:

Settings
     Compiler
          Toolchain
          executables
          Auto-detect

Settings
     Debugger
          Default
   Executable
   path: C:TDM-GCC-32bingdb32.exe

Florian Castellane's user avatar

answered Apr 1, 2020 at 0:29

Dan Azevedo's user avatar

i have just solved the problem.

it happening because the path of you compilers is not correct in settings.code blocks downloads and installs compilers for you. you don not need to it manually.
thus in some cases it takes wrong path of location of compilers.

now heres the solution:-
1. right click on code blocks and go to properties and copy its location,and open command promt tpye cd and past the location. if you know what this all about then just go to file where your code block is install.

2.you will found MinGW directory or folder.

3.right click on the folder, copy its location

4.open code blocks,go to settings which u will find in menu.

5.go to compilers and then go to toolchain executable

6.u will see compiler’s installation directory past our location in white box below that.

  1. CLICK OK

you have solved ur problem. if this dose not work then try reinstalling

answered Apr 19, 2017 at 9:24

I have just solved this problem.

In addition to above mentioned solutions , you can follow the path in «Setting -> Compiler -> Global Compiler Settings -> Toolchain Execuatables (tab)» and check the path for Compiler’s installation directory. If it is blank, then click on «Auto Detect» tab. It will update the installation directory.

answered Jan 5, 2019 at 12:48

Vinod's user avatar

I just solved the problem.
Click ‘Settings->Compiler and debugger->Toolchain executables’.Now in «Compiler’s installation directory» click on ‘Auto-detect’ or browse to the path of compiler. It can be found usually at «C:Program Files (x86)CodeBlocks-EPMinGW», if Codeblocks is installed in C-drive.

answered Jan 29, 2019 at 17:36

Vaibhav Khamankar's user avatar

4 ответов:

видя из вашей версии G++, вам нужно обновить его плохо. C++11 был доступен только с G++ 4.3. Самая последняя версия-4.7.

в версиях pre-G++ 4.7, вам придется использовать -std=c++0x, для более поздних версий, которые вы можете использовать -std=c++11.

89  

2013-02-03 23:16:04 antonijn

слово сайт gcc:

функции C++11 доступны как часть компилятора GCC “mainline” в магистрали репозитория Subversion GCC и в GCC 4.3 и более поздних версиях. Чтобы включить поддержку C++0x, добавьте параметр командной строки-std=c++0x в командную строку g++. Или, чтобы включить расширения GNU в дополнение к расширениям C++0x, добавьте -std=gnu++0x в командную строку g++. Поддержка GCC 4.7 и более поздних версий-std=c++11 и-std=gnu++11 as что ж.

Так что, вероятно, вы используете версию g++ , которая не поддерживает -std=c++11. Попробуй -std=c++0x вместо.

доступность функций C++11 доступна только для версий >= 4.3.

11  

2013-02-03 18:30:48 stefan

вы должны попробовать это

g++-4.4 -std=c++0x or g++-4.7 -std=c++0x

3  

2014-02-20 19:04:19 papo

Я также получил ту же ошибку, компиляция с флагом-D исправлена, попробуйте это:

g++ – Dstd=c++11

-4  

2015-05-05 09:52:58 pankaj kushwaha

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

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

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

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

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

Unrecognized Command-Line Arguments

Any arguments on the command-line that the compiler does not recognize are interpreted as being possibly linker options, object program file names, or library names.

The basic distinctions are:

  • Unrecognized options (with a -) generate warnings.

  • Unrecognized non-options (no -) generate no warnings. However, they are passed to the linker and if the linker does not recognize them, they generate linker error messages.

For example:

demo% f77 -bit move.f <- -bit is not a recognized f77 optionf77: Warning: Option -bit passed to ld, if ld is invoked, ignored otherwisemove.f: MAIN move:demo% f77 fast move.f <- The user meant to type -fastmove.f: MAIN move:ld: fatal: file fast: cannot open file; errno=2ld: fatal: File processing errors. No output written to a.out

Note that in the first example, -bit is not recognized by f77 and the option is passed on to the linker (ld), who tries to interpret it. Because single letter ld options may be strung together, the linker sees -bit as -b-i -t, which are all legitimate ld options! This may (or may not) be what the user expects, or intended.

In the second example, the user intended to type the f77/f90 option -fast but neglected the leading dash. The compiler again passes the argument to the linker which, in turn, interprets it as a file name.

These examples indicate that extreme care should be observed when composing compiler command lines!

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

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

В случае с компилятором вопрос решается просто. Удалите настройки и запустите CodeBlocks. При первом запуске CodeBlocks просканирует ваш диск на наличие компилятора и выдает список всех найденных компиляторов.

Вам остается только сделать выбор и можно работать.

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

Убедитесь, что все компоненты присутствуют на вашем компьютере.

Решение: Нужные программы должны быть или в папке «bin» каталога установки компилятора, или укажите дополнительные пути для их вызова.

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

  • или в «c:Program Files (x86)CodeBlocks»
  • или в папку типа «c:Я начинаю изучать программированиеCodeBlocks»

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

Например в документации на компилятор MinGW говорится:

У MinGW могут быть проблемы с путями, содержащими пробелы, а если нет, обычно другие программы, используемые с MinGW, будут испытывать проблемы с такими путями. Таким образом, мы настоятельно рекомендуем не устанавливать MinGW в любом месте с пробелами в имени пути ссылки . Вам следует избегать установки в любой каталог или подкаталог с именами, такими как «Program Files» или «Мои документы».

Решение: Установите CodeBlocks в папку «C:ProgCodeBlocks» или в любую другую папку, в пути к которой нет пробелов или кириллицы.

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

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

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

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

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

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

При запуске внутри Codeblocks есть специальная настройка, которая не дает окну закрыться.

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

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

Эта ошибка возникает в том случае, если вы поменяли что-либо в настройках компилятора, но не поменяли программу. Например, если вы предыдущем примере уберете галочку «Пауза после выполнения» и нажмете F9, то программа все равно будет запущена с паузой.

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

Решение: Вставьте пробел в текст программы и нажмите F9. Или выполните пункт меню «Сборка — Пересобрать».

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

Эта ошибка доставляет немало неприятных минут. Программист долго ищет ошибку, но никакой ошибки нет.

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

В более сложном случае программа зациклилась и нельзя ее нормально завершить. В этом случае нажмите Ctrl+Alt+Del и снимите зависшую программу.

Решение: Завершите запущенную перед этим скомпилированную программу.

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

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

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

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

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

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

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.

Содержание

  1. 1. Не хватает нужных компонентов (компилятора, отладчика, библиотек)
  2. 2. Неверно указаны пути к компонентам
  3. 3. Символы кириллицы или пробелы в пути к программе CodeBlocks
  4. 4. Символы кириллицы или пробелы в пути к разрабатываемой программе
  5. 5. Не все пункты меню активны
  6. 6. При запуске компилятора ничего не происходит
  7. 7. Программа работает из CodeBlocks, но если запустить ее отдельно, то она сразу закрывается
  8. 8. CodeBlocks запускает предыдущую версию программы
  9. 9. Компиляция проходит без ошибок, но программа не запускается
  10. 10. Антивирус блокирует запись программы на диск
  11. 11. Windows блокирует работу CodeBlocks
  12. 12. Отладчик не останавливается на точке останова
  13. 13. Неверное указание пути к компилятору
  14. Скачивание необходимых файлов
  15. Установка Code::Blocks
  16. 9 Answers 9

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

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

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

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

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

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

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

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

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

  • или в «c:Program Files (x86)CodeBlocks»
  • или в папку типа «c:Я начинаю изучать программированиеCodeBlocks»

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 обнаружит компилятор, то можно работать. Если нет, то переустановите «Си-экспресс».

Здравствуйте, уважаемые читатели! Здесь пойдет речь об установке среды разработки программ на C++ — Code::Blocks. Данная программа бесплатная, но от этого она не становится мало функциональной пустышкой. В ней присутствуют множество функций для разработки небольших программ на C++, а также серьезных проектов. Вместе с ней в комплекте можно скачать компилятор MinGW, который необходим для компиляции ваших программ.

Скачивание необходимых файлов

В начале нам нужно скачать на компьютер файл необходимый для установки Code::Blocks и MinGW. Благо, на официальном сайте Code::Blocks, нам предоставляют возможность скачать и установить оба компонента одним кликом (может двумя). Для скачивания следуем инструкции:

  1. Переходим на официальный сайт данной IDE (http://www.codeblocks.org/downloads).
  2. Здесь у вас есть выбор способа установки, но я вам советую кликнуть по ссылке Download the binary release. Это самый простой способ из присутствующих, о котором дальше и пойдет речь.
  3. На открывшийся странице выберите свою операционною систему или найдите ее самостоятельно, пролистав вручную.
  4. Теперь в таблице с возможными файлами для установки выбираем тот, в названии которого присутствует mingw (например, codeblocks- mingw-setup.exe).
  5. Сохраните файл и дождитесь окончания загрузки. Файл весит не много, так что заскучать не успеете 🙂 .

Установка Code::Blocks

После скачивания установочного файла можем приступать к самой установке программы. Для этого нам потребуется совершить пару телодвижений:

  1. Открываем пакет установки Code::Blocks.
  2. Жмем Next >.
  3. Жмем I Agree.
  4. Здесь мы можем выбрать различные виды установки либо настроить ее самостоятельно. Я предпочитаю Full версию установки. Жмем Next >.
  5. Можете выбрать другой каталог установки Code::Blocks вместо стандартного. Жмем Install.
  6. Ждем…
  7. Жмем Finish!

Теперь у вас установлена полноценная среда разработки Code::Blocks!

Однако на этом еще не все. Остался последний штрих.

При первом запуске у вас попросят указать, какие расширения файлов будут привязаны к Code::Blocks по умолчанию. Здесь особой разницы нет. Я выбираю Yes, associate Code::Blocks with C/C++ file types.

Если мы все правильно сделали, то должны увидеть экран приветствия:

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

Для этого жмем File -> New -> File… После чего открывается диалоговое окно:

  1. Выбираем C/C++ source. Жмем Go.
  2. Жмем Next >. Можем поставить галочку Skip this page next time чтобы в следующий раз лишний раз не пролистывать эту страницу.
  3. Выбираем C++ и идем дальше.
  4. Выбираем расположения файла и жмем Finish!

Теперь у вас должно открыться окно для написания кода. Скопируйте или напишите сами данный код:

My problem is that code::blocks error message tells me that it can’t find file executable in the search path for gnc gcc compiler. Although, I don’t know what that means. Also I typed out some code:

I can’t build it or run in code::blocks . What do I need to do?

I went on line but I got some answers that are way over my head. I was able to use code::blocks once before I installed Visual studios express 2013 . Visual studios didn’t work right either. It kept asking me to repair or uninstall every time I tried to open it. So I deleted it along with code::blocks . Now that I re-installed code::blocks I still can’t get to work right.

This problem with compilers is taking up all my time and I can’t practice learning programming because I can’t get any compiler to work right. I need some help, please.

9 Answers 9

I’m guessing you’ve installed Code::Blocks but not installed or set up GCC yet. I’m assuming you’re on Windows, based on your comments about Visual Studio; if you’re on a different platform, the steps for setting up GCC should be similar but not identical.

First you’ll need to download GCC. There are lots and lots of different builds; personally, I use the 64-bit build of TDM-GCC. The setup for this might be a bit more complex than you’d care for, so you can go for the 32-bit version or just grab a preconfigured Code::Blocks/TDM-GCC setup here.

Once your setup is done, go ahead and launch Code::Blocks. You don’t need to create a project or write any code yet; we’re just here to set stuff up or double-check your setup, depending on how you opted to install GCC.

Go into the Settings menu, then select Global compiler settings in the sidebar, and select the Toolchain executables tab. Make sure the Compiler’s installation directory textbox matches the folder you installed GCC into. For me, this is C:TDM-GCC-64 . Your path will vary, and this is completely fine; just make sure the path in the textbox is the same as the path you installed to. Pay careful attention to the warning note Code::Blocks shows: this folder must have a bin subfolder which will contain all the relevant GCC executables. If you look into the folder the textbox shows and there isn’t a bin subfolder there, you probably have the wrong installation folder specified.

Now, in that same Toolchain executables screen, go through the individual Program Files boxes one by one and verify that the filenames shown in each are correct. You’ll want some variation of the following:

  • C compiler: gcc.exe (mine shows x86_64-w64-mingw32-gcc.exe )
  • C++ compiler: g++.exe (mine shows x86_64-w64-mingw32-g++.exe )
  • Linker for dynamic libs: g++.exe (mine shows x86_64-w64-mingw32-g++.exe )
  • Linker for static libs: gcc-ar.exe (mine shows x86_64-w64-mingw32-gcc-ar.exe )
  • Debugger: GDB/CDB debugger: Default
  • Resource compiler: windres.exe (mine shows windres.exe )
  • Make program: make.exe (mine shows mingw32-make.exe )

Again, note that all of these files are in the bin subfolder of the folder shown in the Compiler installation folder box — if you can’t find these files, you probably have the wrong folder specified. It’s okay if the filenames aren’t a perfect match, though; different GCC builds might have differently prefixed filenames, as you can see from my setup.

Once you’re done with all that, go ahead and click OK . You can restart Code::Blocks if you’d like, just to confirm the changes will stick even if there’s a crash (I’ve had occasional glitches where Code::Blocks will crash and forget any settings changed since the last launch).

Now, you should be all set. Go ahead and try your little section of code again. You’ll want int main(void) to be int main() , but everything else looks good. Try building and running it and see what happens. It should run successfully.

После запуска CodeBlocks нажимаен на кнопку New file — это первая кнопку с изображением чистого белого листика с желтым плюсиком в правом верхнем углу.


Далее, в выпадающем меню, выбираем Empty file (т.е. пустой файл)


Либо вместо предыдущих двух действий выполняем по порядку то, что указано на картинке: Выбираем меню File -> New -> Empty file:


Добавиться пустое окно в которое мы и можем записать нашу программу.
Затем мы сохраняем файл нажимаю на кнопку с одной дискеткой.


Откроется диалогое окно, которое предложит назвать файл нашей программы.


Сразу укажем расширение — cpp сместо c.


Укажем таки название нашей программы с указанным расширением и нажмем кнопку Сохранить:


На закладке имени нашей программы смениться название и текст (код) нашей программы со смыслом раскрасится, выделяя команды для удобства восприятия:


Написав программу, её нужно скомпилировать и запустить. Сделать это можно нажав на кнопку «Build and run» (шестерёнка с зелёным треугольничком) показанную на картинке:


Под окном с текстом (кодом) нашей программы компилятор покажет есть ли ошибки (errors) или предупреждения (warnings) и сколько их.
При условии отсутствия ошибок программа запуститься в чёрном окне и выведет результат своей работы.


Нажмите любую кнопку для завершения работы программы — чёрное окно закроется и можем продолжить писать код нашей программы.


 

Вероятно, это действительно вопрос о нобе, но факт заключается в том, что мои блоки кода:: Code не показывали мне ошибок при компиляции — он показывает только красную полосу рядом с оскорбительной строкой, как показано на снимке экрана. Кроме того, когда мой код запускается и выводится, CB открывает новое окно вместо того, чтобы показывать результат в панели в нижней части окна редактора, как некоторые другие IDE. Как мне включить оба/оба, так как они, вероятно, одна и та же функция? Спасибо! alt text

Ответ 1

Нажмите F2, чтобы включить панель «Журналы». Выберите «Build log» в нем.

Или перейдите в меню: View -> Logs

Хорошо развивайтесь!

Ответ 2

перейти к просмотру → перспектива → и включить код:: Блокировать по умолчанию, вы можете видеть свои проекты слева и вниз по строкам журналов и сообщений и т.д.

Ответ 3

Вам просто нужно нажать F2, чтобы включить панель «Журнал и другие».

Ответ 4

Если после нажатия клавиши F2 вы не видите вкладку «Журнал и другие»

Вам нужно выбрать: «Вид» ==> «Перспектива» ==> «Удалить текущий»

Понравилась статья? Поделить с друзьями:
  • Код ошибки 0 80070422 как исправить
  • Код активации аваст произошла ошибка
  • Код ошибки 0 800703ed
  • Код ошибки 0 800701e3
  • Код ошибки 0 80070141