Visual Studio включает в себя командную строку C и компилятор C++. Его можно использовать для создания всех элементов — от базовых консольных приложений до приложений универсальной платформы Windows, классических приложений, драйверов устройств и компонентов .NET.
В этом пошаговом руководстве приводятся инструкции по созданию программы на языке C++ в стиле «Hello, Wolrd» в текстовом редакторе с последующей компиляцией из командной строки. Если вы хотите попробовать интегрированную среду разработки Visual Studio вместо командной строки, см. статью Пошаговое руководство. Работа с проектами и решениями (C++) или Использование интегрированной среды разработки Visual Studio для разработки приложений для настольных систем на языке C++.
В этом пошаговом руководстве вместо ввода показанного кода можно использовать собственную программу на языке C++. Также можно использовать пример кода C++ из другой статьи справки.
Предварительные требования
Для выполнения этого пошагового руководства необходимо установить Visual Studio и дополнительную рабочую нагрузку Разработка настольных приложений на C++ или Build Tools командной строки для Visual Studio.
Windows XP смогли скомпилировать из исходных кодов которые слили в сеть !
Visual Studio — интегрированная среда разработки (IDE). Она поддерживает полнофункциональный редактор, диспетчеры ресурсов, отладчики и компиляторы для многих языков и платформ. Доступные версии включают бесплатный выпуск Visual Studio Community Edition, и все они могут поддерживать разработку на C и C++. Сведения о скачивании и установке Visual Studio см. в статье Установка поддержки C++ в Visual Studio.
Build Tools для Visual Studio устанавливают только средства, библиотеки и компиляторы командной строки, необходимые для сборки программ C и C++. Это идеальный вариант для создания заданий и упражнений, а установка выполняется относительно быстро. Чтобы установить только средства командной строки, найдите Build Tools для Visual Studio на странице загрузки Visual Studio.
Прежде чем можно будет выполнить сборку программ C или C++ в командной строке, убедитесь, что эти средства установлены и к ним можно получить доступ из командной строки. Visual C++ имеет сложные требования к среде командной строки для поиска используемых средств, заголовков и библиотек. Visual C++ нельзя использовать в простом окне командной строки без предварительной подготовки.
К счастью, Visual C++ устанавливает ярлыки для запуска командной строки разработчика, для которой настроена среда для сборок из командной строки. К сожалению, имена ярлыков командной строки разработчика и места их расположения отличаются практически во всех версиях Visual C++ и в различных версиях Windows. Первая задача пошагового руководства — найти нужную командную строку.
Ярлык командной строки разработчика автоматически задает правильные пути для компилятора и средств, а также для всех необходимых заголовков и библиотек. Эти значения среды необходимо задавать самостоятельно, если используется обычное окно командной строки. Дополнительные сведения см. в статье Использование набора инструментов MSVC из командной строки. Рекомендуется использовать ярлык командной строки разработчика вместо создания собственного.
Linux — Компиляция программ из исходников в Ubuntu
Открытие командной строки разработчика
- Если вы установили Visual Studio 2017 или более поздней версии в Windows 10 или более поздней версии, откройте меню «Пуск» и выберите Все приложения. Прокрутите вниз и откройте папку Visual Studio (не приложение Visual Studio). Выберите элемент Командная строка разработчика для VS, чтобы открыть окно командной строки. Если вы установили Microsoft Visual C++ Build Tools 2015 в Windows 10 или более поздней версии, откройте меню Пуск и выберите Все приложения. Прокрутите вниз и откройте папку Microsoft Visual C++ Build Tools. Выберите элемент Командная строка Native Tools x86 Visual C++ 2015, чтобы открыть окно командной строки. Можно также ввести «командная строка разработчика» в строке поиска в Windows и выбрать командную строку, которая соответствует установленной версии Visual Studio. Откройте окно командной строки с помощью ярлыка.
- Затем убедитесь в том, что командная строка разработчика Visual C++ настроена правильно. В окне командной строки введите cl и убедитесь в том, что выходные данные выглядят примерно так:
C:Program Files (x86)Microsoft Visual Studio2017Enterprise>cl Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. usage: cl [ option. ] filename. [ /link linkoption. ]
Возможно, существуют различия в текущем каталоге или номерах версий. Эти значения зависят от версии Visual C++ и установленных обновлений. Если приведенный выше результат похож на отображаемый, можно приступать к сборке программ C или C++ в командной строке.
Примечание Если при выполнении команды cl появляется сообщение о том, что «cl не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл», или возникают ошибки C1034 или LNK1104, дело в том, что вы не используете командную строку разработчика или что-то не так с установкой Visual C++. Для продолжения нужно будет исправить ошибку.
Если вы не можете найти ярлык командной строки разработчика или при вводе cl появляется сообщение об ошибке, возможно, возникла проблема с установкой Visual C++. Попробуйте переустановить компонент Visual C++ в Visual Studio или Microsoft Visual C++ Build Tools. Не переходите к следующему разделу, пока команда cl не сработает. Дополнительные сведения об установке Visual C++ и устранении неполадок см. в статье Установка Visual Studio.
Примечание В зависимости от версии Windows, установленной на компьютере, и конфигурации системы безопасности может потребоваться правой кнопкой мыши открыть контекстное меню для ярлыка командной строки разработчика и выбрать пункт Запуск от имени администратора, чтобы успешно выполнить сборку и запуск программы, созданной в этом пошаговом руководстве.
Создание файла исходного кода на языке Visual C++ и его компиляция из командной строки
- В окне командной строки разработчика введите md c:hello , чтобы создать каталог, а затем введите cd c:hello , чтобы перейти к этому каталогу. В этом каталоге создаются файл исходного кода и скомпилированная программа.
- В окне командной строки введите notepad hello.cpp . Когда Блокнот предложит создать файл, выберите Да. Откроется пустое окно Блокнота, в котором можно ввести код для файла hello.cpp.
- В окне блокнота введите следующие строки кода:
#include using namespace std; int main()
c:hello>dir Volume in drive C has no label. Volume Serial Number is CC62-6545 Directory of c:hello 05/24/2016 05:36 PM . 05/24/2016 05:36 PM .. 05/24/2016 05:37 PM 115 hello.cpp 1 File(s) 115 bytes 2 Dir(s) 571,343,446,016 bytes free
Даты и некоторые другие данные будут отличаться на вашем компьютере.
Примечание Если файл исходного кода hello.cpp не отображается, убедитесь, что текущий рабочий каталог в командной строке — это созданный вами каталог C:hello . Это должен быть каталог, в который вы сохранили файл исходного кода. Также убедитесь, что файл исходного кода был сохранен с расширением имени файла .cpp , а не .txt . Если открыть Блокнот из командной строки с помощью команды notepad hello.cpp , файл исходного кода автоматически сохраняется в текущем каталоге в виде файла .cpp . Если Блокнот открыть другим способом, его поведение также будет другим.
По умолчанию Блокнот добавляет расширение .txt в новые файлы при их сохранении. Кроме того, файлы по умолчанию сохраняются в каталоге Документы. Чтобы сохранить файл с расширением .cpp в Блокноте, выберите Файл>Сохранить как.
В диалоговом окне Сохранение файла перейдите к папке C:hello в элементе управления иерархического представления каталогов. Затем в раскрывающемся списке Тип файла выберите Все файлы (*.*). Введите hello.cpp в элемент управления «Поле ввода» Имя файла и нажмите кнопку Сохранить, чтобы сохранить файл.
c:hello>cl /EHsc hello.cpp Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86 Copyright (C) Microsoft Corporation. All rights reserved. hello.cpp Microsoft (R) Incremental Linker Version 14.10.25017.0 Copyright (C) Microsoft Corporation. All rights reserved. /out:hello.exe hello.obj
Примечание Если вы получаете сообщение об ошибке, например «cl не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл», ошибке C1034 или LNK1104, командная строка разработчика настроена неправильно. Чтобы получить сведения о том, как устранить эту проблему, вернитесь к разделу Открыть командную строку разработчика.
Примечание Если вы получаете другое сообщение об ошибке или предупреждение компилятора или компоновщика, проверьте исходный код, исправьте ошибки, сохраните его и снова запустите компилятор. Для получения сведений о конкретных ошибках введите номер ошибки в поле поиска.
Hello, world, from Visual C++!
Следующие шаги
Этот пример «Hello, World» является самой простой программой C++. Реальные программы обычно имеют файлы заголовков, дополнительные исходные файлы и ссылки на библиотеки.
Вы можете использовать шаги, описанные в этом пошаговом руководстве по C++, для создания собственного кода, чтобы не вводить приведенный пример. Эти шаги также позволяют собрать множество примеров кода C++, которые можно найти в других местах. Вы можете разместить исходный код и собрать приложения в любом доступном для записи каталоге. По умолчанию интегрированная среда разработки Visual Studio создает проекты в папке пользователя во вложенной папке sourcerepos . Более старые версии могут помещать проекты в папку DocumentsVisual Studio Projects .
Чтобы скомпилировать программу с дополнительными файлами исходного кода, введите их все в командной строке, например:
cl /EHsc file1.cpp file2.cpp file3.cpp
Параметр командной строки /EHsc указывает компилятору на необходимость стандартной обработки исключений C++. В противном случае созданные исключения могут привести к неуничтоженным объектам и утечкам ресурсов. Дополнительные сведения см. в статье /EH (модель обработки исключений).
При указании дополнительных исходных файлов компилятор использует первый входной файл для создания имени программы. В этом случае выводится программа с именем file1.exe. Чтобы изменить имя на program1.exe, добавьте параметр компоновщика /out:
cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe
Чтобы автоматически перехватывать другие ошибки программирования, рекомендуется выполнить компиляцию с помощью порога предупреждений /W3 или /W4:
cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe
В компиляторе cl.exe есть множество дополнительных параметров. Их можно применять для создания, оптимизации, отладки и анализа кода. Чтобы просмотреть краткий список, введите cl /? в командной строке разработчика. Можно также выполнять компиляцию и компоновку отдельно и применять параметры компоновщика в более сложных сценариях сборки. Дополнительные сведения о параметрах компилятора и компоновщика и их использовании см. в справочнике по созданию C/C++.
Для настройки и создания более сложных проектов в командной строке можно использовать NMAKE и файлы makefile, MSBuild и файл проекта или CMake. Дополнительные сведения об использовании этих средств см. в разделах Справочник по NMAKE, MSBuild и Проекты CMake в Visual Studio.
Языки C и C++ похожи, но имеют различия. Компилятор MSVC использует простое правило для определения языка, используемого при компиляции кода. По умолчанию компилятор MSVC рассматривает файлы с расширением .c как исходные файлы на языке С, а файлы с расширением .cpp — как исходные файлы на языке С++. Если указан параметр компилятора /TP, компилятор будет рассматривать все файлы как исходные файлы на языке С++ вне зависимости от расширения.
Компилятор MSVC содержит библиотеку времени выполнения C (CRT), которая соответствует стандарту ISO C99 с небольшими исключениями. Переносимый код обычно компилируется и выполняется, как ожидалось. Некоторые устаревшие функции библиотеки и несколько имен функций POSIX не рекомендуется использовать в компиляторе MSVC. Функции поддерживаются, но предпочтительные имена изменились. Дополнительные сведения см. в статьях Функции безопасности в CRT и Предупреждение компилятора (уровень 3) C4996.
Источник: learn.microsoft.com
Компиляция (сборка) исходников в windows
Сообщество разработчиков mozilla уже подготовило для нас с вами готовую сборку приложений,
которые могут понадобится для компиляции нативных приложений windows.
Для приготовления исходников нам понадобятся:
1) Visual C++ 2008 Express Edition (http://www.microsoft.com/express/download/)
Бесплатная обрезанная версия вижуал студии. Содержит в себе утилиты для компиляции, линковки и другие полезные утилиты разработчика,
которые под виндой ручками трогать не принято.
2) Windows SDK (https://developer.mozilla.org/En/Windows_SDK_versions)
Куча хедеров, описывающих внутренности windows.
3) Собственно MozillaBuild (http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.3.exe)
Включает:
— autoconf/automake, что в связке с msvs позволяет выполнять стандартные для никс-мира последовательности
для сборки: ./configure make
— msys (unix-wrapper для windows)
— bash
— perl
— пакет для компиляции/сборки mingw32
— клиент hg (mercurial)
— клиент cvs
— python
— NSIS
— упаковщик UPX
— качалка wget
По завершении установки этого софта, переходим в папку с mozillabuild и запускаем файл start-msvc9.bat.
Запускается nix-шелл с правильно прописанными путями софта, нужного для сборки пакетов.
cd / c / src / blabla
. / configure —with_blabla —disable_blablabla
make
updating: xulrunner / xpidl.exe ( 160 bytes security ) ( deflated 49 % )
updating: xulrunner / xpt_dump.exe ( 160 bytes security ) ( deflated 48 % )
updating: xulrunner / xpt_link.exe ( 160 bytes security ) ( deflated 44 % )
updating: xulrunner / xul.dll ( 160 bytes security ) ( deflated 48 % )
updating: xulrunner / xulrunner-stub.exe ( 160 bytes security ) ( deflated 46 % )
updating: xulrunner / xulrunner.exe ( 160 bytes security ) ( deflated 44 % )
make [ 2 ] : Leaving directory `/ c / tmp / src / mozilla / xulrunner / installer ‘
/local/bin/make tools
make[2]: Entering directory `/c/tmp/src/mozilla/xulrunner/installer’
Makefile: 107 : FULL_NSPR_CFLAGS =-I $ / stable
make [ 2 ] : Leaving directory `/ c / tmp / src / mozilla / xulrunner / installer ‘
make[1]: Leaving directory `/c/tmp/src/mozilla/xulrunner/installer’
Источник: www.skillz.ru
Как скомпилировать Code::Blocks из исходников
Сегодня я хочу поделиться своим опытом компилирования CodeBlocks из исходников под Windows 7/10. Для начинающих этот увлекательный процесс изобилует подводными камнями и особенностями.
Устанавливаем среду CodeBlocks
Для начала качаем последние стабильные бинарники codeblocks для Windows вместе с компилятором MinGW, или раздельно IDE и MinGW. В моем случае была скачана и установлена версия codeblocks-20.03-32bit-mingw-64bit-setup.exe c 64 битным компилятором. ( Страница загрузок codeblocks и зеркало. )
Замечание: Версия компилятора должна быть относительно свежей. В данном случае это gcc 8.1.0.
Устанавливаем СodeBlocks по пути, не содержащем длинные имена. Например в папку C:Soft. Далее необходимо прописать в переменную Path путь к папке бинарных файлов MinGW «C:SoftcodeblocksМinGWbin». Это можно сделать нажав Win + Pause/Break, перейти в Дополнительные параметры системы и открыть Переменные среды. Изменить можно либо системную переменную Path, либо переменную Path среды текущего пользователя (если все операции далее будут выполняться под ним).
Замечание: Установленный в системе компилятор MinGW ( gcc.exe ) должен быть один в системе, либо при запросе из командной строки быть основным доступным. Если по какой-то причине у Вас в системе есть несколько версий данного компилятора, то самым простым способом будет временно переименовать папки с другими его версиями.
Если все правильно сделано, то при вводе во вновь открытой командной строке команды gcc -v должна появиться информация о настройках и версии компилятора.
Следующим шагом необходимо настроить установки компилятора в CodeBlocks. Для этого запускаем CodeBlocks, и в параметрах Settings > Compiler > Toolchain executable настраиваем путь к папке MinGW. Параметры по умолчанию я заменил так:
- C compiler: gcc.exe
- C++ compiler: g++.exe
- Linker for dynamic libs: g++.exe
Остальные оставил как есть:
Библиотека wxWidgets
Скачиваем исходники актуальной версии wxWidgets с сайта. На сегодня это версия wxWidgets-3.1.5. Файлы для Windows упакованы в вариантах Zip и 7z.
Создаем рабочую папку проектов C:codeblocks . Распаковываем архив, получившуюся папку wxWidgets-3.1.5 переносим в C:codeblocks . Необходимо также создать глобальную переменную WXWIN=c:codeblocksxWidgets-3.1.5 .
Прежде, чем приступать к сборке, необходимо настроить файл setup.h под требования сборки исходников CodeBlocks. Для Windows открываем в IDE файл wxWidgets — (путь_WXWIN)includewxmswsetup.h
- В строке 22 контролируем наличие значения #define wxUSE_GUI 1
- В строке 1642 значение #define wxUSE_GRAPHICS_DIRECT2D0 меняем на #define wxUSE_GRAPHICS_DIRECT2D1
Без этих опций при сборке проекта CodeBlocks из исходников компилятор будет выдавать предупреждающие сообщения и останавливать процесс. В результате мне пришлось несколько раз возвращаться и повторно собирать wxWidgets с измененными настройками setup.h. А как Вы помните, это процесс очень не быстрый.
Сохраняем файл setup.h и копируем его из (путь_WXWIN)includewxmswsetup.h в (путь_WXWIN)includewx .
Важно: Эти два файла всегда должны быть одинаковыми.
Далее wxWidgets необходимо собрать. Существует множество вариантов и опций сборки данной библиотеки, определяющих дальнейшие варианты ее использования в проектах. Так опция MONOLITHIC определяет, будут ли при компиляции библиотеки упакованы в единый файл. Опция SHARED задает тип библиотеки: статическая или динамическая. Опция BUILD определяет, будет ли библиотека поддерживать отладку (debug/release).
Я решил собирать сразу и статические, и динамические библиотеки для debug и для release. Эта задача определила мне 4 варианта запуска процесса со следующими ключами: (SHARED=0 MONOLITHIC=1)
- SHARED=0 BUILD=debug — статическая отладочная библиотека
- SHARED=0 BUILD=release — статическая библиотека для релиза
- SHARED=1 MONOLITHIC=1 BUILD=debug — единая динамическая отладочная библиотека
- SHARED=1 MONOLITHIC=1 BUILD=release — единая динамическая библиотека для релиза
Для сборки я сделал cmd скрипт, позволяющий частично автоматизировать подготовку и запуск процесса.
cd %WXWIN%buildmsw REM SHARED=1 — make DLL, SHARED=0 — make LIB REM MONOLITHIC=1 — make monolithic lib/dll REM Clean mingw32-make -f makefile.gcc clean mingw32-make -f makefile.gcc BUILD=debug USE_XRC=1 SHARED=0 MONOLITHIC=1 UNICODE=1 WXUNIV=0 USE_OPENGL=1 clean mingw32-make -f makefile.gcc BUILD=debug USE_XRC=1 SHARED=1 MONOLITHIC=1 UNICODE=1 WXUNIV=0 USE_OPENGL=1 clean mingw32-make -f makefile.gcc BUILD=release USE_XRC=1 SHARED=0 MONOLITHIC=1 UNICODE=1 WXUNIV=0 USE_OPENGL=1 clean mingw32-make -f makefile.gcc BUILD=release USE_XRC=1 SHARED=1 MONOLITHIC=1 UNICODE=1 WXUNIV=0 USE_OPENGL=1 clean REM Delete setup.h if exist %WXWIN%libgcc_libmswu (rd /S/Q %WXWIN%libgcc_libmswu) if exist %WXWIN%libgcc_libmswud (rd /S/Q %WXWIN%libgcc_libmswud) if exist %WXWIN%libgcc_dllmswu (rd /S/Q %WXWIN%libgcc_dllmswu) if exist %WXWIN%libgcc_dllmswud (rd /S/Q %WXWIN%libgcc_dllmswud) REM Build start cmd /k «mingw32-make -f makefile.gcc BUILD=debug USE_XRC=1 SHARED=0 MONOLITHIC=1 UNICODE=1 WXUNIV=0» start cmd /k «mingw32-make -f makefile.gcc BUILD=debug USE_XRC=1 SHARED=1 MONOLITHIC=1 UNICODE=1 WXUNIV=0» start cmd /k «mingw32-make -f makefile.gcc BUILD=release USE_XRC=1 SHARED=0 MONOLITHIC=1 UNICODE=1 WXUNIV=0» start cmd /k «mingw32-make -f makefile.gcc BUILD=release USE_XRC=1 SHARED=1 MONOLITHIC=1 UNICODE=1 WXUNIV=0»
Сначала выполняется очистка результатов предыдущих попыток и удаляются каталоги с присутствующим файлом настроек setup.h, который при его отсутствии копируется из (путь_WXWIN)includewx . Удаление каталогов с данным файлом необходимо на случай его изменения.
Так актуальный файл гарантированно будет скопирован в нужные каталоги при сборке. Сборка запускается в 4х независимых cmd процессах, что позволяет несколько полнее загрузить процессор (если у него несколько ядер и потоков) и этим ускорить процесс. Сам процесс сборки у wxWidgets обычно происходит стабильно успешно, но занимает длительное время. У меня обычно на это уходит до 3х часов.
В итоге в папке lib wxWidgets появляются две подпапки — gcc_dll и gcc_lib c полным набором релизных и отладочных библиотек. Разница в названиях таких библиотек в наличии ‘суффикса’ d в имени файла.
Дальше необходимо открыть среду CodeBlocks и в меню Settings > Global Variables добавить переменные wx, wx31, wx31_64. В наборе данных указывается полные пути к папке wxWidgets, вложенным папкам include и lib:
- base = C:codeblockswxWidgets-3.1.5
- include = C:codeblockswxWidgets-3.1.5include
- lib = C:codeblockswxWidgets-3.1.5lib
Глобальный путь lib указываем к папке со статически линкуемым набором библиотек.
В принципе среда CodeBlocks может и сама запрашивать глобальные переменные, если такие встречаются в проекте.
Теперь можно попробовать собрать тестовый wxWidgets проект, чтобы убедиться, что все сделано правильно. В опциях при создании проекта выбираем wxWidgets 3.1.x (wxSmith, Frame Based). В процессе работы мастера проекта можно увидеть применение уже созданной переменной wx на странице, где требуется указать расположение wxWidgets. Здесь ничего менять не надо, т.к. нужные настройки уже существуют.
Далее нужно отметить сборку проекта Monolithic, т.к. наша библиотека wxWidgets собиралась именно с такой опцией. Также необходима опция Enable unicode.
После успешной проверки сборки WX проекта можно переходить непосредственно к сборке CodeBlocks из исходников.
Сборка CodeBlocks
Сначала я взял исходники codeblocks с сайта проекта, и пытался собрать их. На борьбу с разными ошибками и зависимостями ушло несколько дней, пока я не встретил на одном из сайтов рекомендацию брать исходники из SVN репозитория проекта.
Замечание: Исходники CodeBlocks для сборки скачивайте из SVN репозитория проекта.
Для этого я установил программу TortoiseSVN-1.14.1.29085-x64-svn-1.14.1, и с ее помощью подключился к источнику svn://svn.code.sf.net/p/codeblocks/code/trunk , и после обновления данных выполнил экспорт ветки в локальную папку проектов.
Теперь у нас есть актуальные исходники проекта codeblocks для сборки.
Для работы скриптов при сборке проекта codeblocks необходимо наличие в системе доступной для запуска из консоли утилиты Zip. У кого такой утилиты нет, ее можно скачать и установить из источника, прописав в системной переменной Path путь к исполняемому файлу. Утилита должна находиться и выполняться из cmd.
Запускаем установленную ранее IDE CodeBlocks, открываем проект CodeBlocks_wx31_64.workspace из папки C:codebloclscodeblockssrc . Как видно, проект ориентирован на сборку с wxWidgets 3.1.x и x64. В папке присутствуют и другие проекты, но использованный мной компилятор изначально собирает проекты под 64-битную ОС.
Важно: Изначальный выбор компилятора для сборки wxWidgets определяет тип проекта (х32/х64), выбираемого для сборки codeblocks из исходников. Иначе на финальном этапе не будут находиться те или иные библиотеки. Либо даже после успешной сборке проекта codeblocks при его запуске будет появляться сообщение об ошибке с дальнейшим падением IDE.
На понимание этих тривиальных фактов и исправление у меня ушло пару дней (и опять не одна пересборка wxWidgets).
При открытии проекта IDE нашла и запросила очередную глобальную переменную cb_release_type. Это флаг типа сборки, в поле base вводим -g для сборки с отладочной информацией (либо -O2 для релизной сборки с оптимизацией), и закрываем окно.
В списке проектов находим NassiShneiderman wx3.1.x . Его необходимо отключить, т.к. он требует зависимости, решения к которым я пока не нашел. Отключаем в меню Properties данного проекта на вкладке Build target . Во всплывающем списке Platform нужно снять галку с Windows и поставить на Unix или Mac. После этого данный проект будет исключен из списка компиляции. Среда CodeBlocks при этом может внезапно обнаружить глобальную переменную boost. Оставляем ее как есть (invalid).
Запускаем сборку всего Workspace и ждем ее окончания. После окончания сборки текущий Workspace можно закрыть.
Теперь необходимо запустить скрипт Update31_64.bat из папки проекта codeblocks. Переходим в папку C:codeblockscodeblockssrc и запускаем данный скрипт. Происходит магические действия по подготовке и упаковке бинарников собранного ранее проекта.
После этого копируем библиотеку wxmsw315u_gcc_custom.dll из папки C:codeblockswxwidgets-3.1.5libgcc_dll в папку C:codeblockscodeblockssrcdevel31_64. Закрываем открытую ранее IDE CodeBlocks и пробуем запустить файл codeblocks.exe из C:codeblockscodeblockssrcdevel31_64.
И так, кратко резюмирую основные трудности:
- Компилятор для всех выполняемых работ должен быть один.
- Версия компилятора должна быть актуальной и стабильной
- Библиотека wxWidgets также должны быть актуальной.
- Исходники codeblocks необходимо брать из репозитория.
- Важно помнить разрядность собранных библиотек wxWidgets и выбирать соответствующий проект codeblocks.
- Изменение системных переменных среды в загруженной IDE не обновляются, требуется ее перезапуск.
Источник: temofeev.ru