Как установить библиотеки Boost с CodeBlocks?

Итак, я нахожусь в конце моей строки Здесь; я изучал сохранение файлов и сериализацию, только чтобы узнать, что C++ не имеет такой собственной способности сериализации, которую Python имеет с его замечательным pickle. Но, к счастью, у него есть Boost - так начались мои поиски по установке Boost 1.47 в моей системе, чтобы иметь возможность сериализовать мои объекты.

пока, однако, успеха нет. Сначала я подумал, что смогу это использовать.: http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef, но я постоянно получал несоответствующие ошибки версии, и после нескольких попыток найти Boost Jam, совместимый с 1.47 (я нашел только 1.3.19, который, похоже, построен для 1.46), я увидел, что страница была более чем на полтора года устаревшей.

затем, после долгих поисков, мне указали сюда:http://www.boost.org/doc/libs/1_47_0/doc/html/bbv2/installation.html . Но это не работает. любой. При запуске ушко.bat, я получаю следующую ошибку:

не удалось создать Boost.Построить двигатель. Пожалуйста, обратитесь к bootstrap.журнал для дальнейшей диагностики.

ха-ну, нигде нет .файл журнала любого рода, но есть текстовый файл под названием bootstrap, который содержит следующее:

Setting environment for using Microsoft Visual Studio 2010 x86 tools.
###
### Using 'vc10' toolset.
###

c:Program Files (x86)CodeBlocksMinGWdownloadedboost_1_47_0toolsbuildv2engine>if exist bootstrap rd /S /Q bootstrap 

c:Program Files (x86)CodeBlocksMinGWdownloadedboost_1_47_0toolsbuildv2engine>md bootstrap 

c:Program Files (x86)CodeBlocksMinGWdownloadedboost_1_47_0toolsbuildv2engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrapjam0  command.c compile.c debug.c execnt.c expand.c filent.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c pwd.c class.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c 
command.c
compile.c
debug.c
execnt.c
execnt.c(29) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
expand.c
filent.c
glob.c
hash.c
hdrmacro.c
headers.c
jam.c
jam.c(581) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
jambase.c
jamgram.c
lists.c
make.c
make1.c
newstr.c
option.c
output.c
parse.c
Generating Code...
Compiling...
pathunix.c
pathunix.c(275) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
regexp.c
rules.c
scan.c
search.c
subst.c
timestamp.c
variable.c
modules.c
strings.c
filesys.c
builtins.c
md5.c
pwd.c
class.c
w32_getreg.c
w32_getreg.c(18) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory
native.c
set.c
path.c
regex.c
Generating Code...
Compiling...
property-set.c
sequence.c
order.c
Generating Code...

теперь я действительно просто запутался. Я в пути над моей головой со всем этим - я все еще программирую боковые скроллеры и только был C++ способен уже несколько месяцев. Я понятия не имею, что делаю не так. Может кто-нибудь указать мне на четкое, полное пошаговое руководство или что-то? Я только хочу получить Boost в мою систему!

3 ответов


из сообщения об ошибке, которое вы опубликовали, я предполагаю, что вы используете некоторую версию Visual Studio. Чтобы использовать его компилятор из командной строки, вам нужно определить несколько переменных среды. Это делается автоматически при использовании командной строки Visual Studio. Еще лучше, вы можете попробовать и следовать в этом уроке.


Я попытался следовать из http://forums.codeblocks.org/index.php?topic=15164.0 & это сработало чудесно.

УСТАНОВКА BOOST:

загрузите либо zip, либо пакет 7zip boost. Извлеките содержимое в extract_dir.

открыть командную строку (cmd.exe) и перейдите к extract_dir. компакт-диск extract_dir

если папка minGW\bin (можно найти в папке CodeBlocks installatoin) не находится в переменной пути add он.

путь minGW_dir\bin;%путь%

Создайте систему сборки boost, введя

ушко.exe mingw

откройте файл extract_dir\project-config.застрять в блокноте и изменить слово msvc на gcc.

в окне командной строки выполните команду

b2.exe

НАСТРОЙКА BOOST С ПОМОЩЬЮ CODEBLOCKS

создайте глобальную переменную boost с extract_dir в качестве базы. (Это C:\Libraries\boost_1_47_0 на мой компьютер.) Другим полям ничего не нужно (кроме, возможно, lib; если вы использовали пользовательский каталог при создании boost, поместите путь здесь). Затем (предполагая, что вы запускаете проект, а не добавляете к существующему), создайте новый проект (консольное приложение должно быть прекрасным) В этом проекте откройте Project - >параметры сборки... и убедитесь, что общее имя проекта выбрано в левом столбце (например, boost_test). Перейдите на вкладку поиск каталогов и нажмите кнопку Добавить (для Вкладка компилятора). В поле Введите $(#boost) и нажмите кнопку ОК.


вот сообщение в блоге, которое касается настройки Code:: Blocks для использования библиотек Boost (только для заголовков и скомпилированных) в средах Windows:

http://www.technical-recipes.com/2014/configuring-codeblocks-to-use-the-boost-libraries/

Не забывайте, что для библиотек Boost, нуждающихся в дополнительной компиляции, вам нужно запустить boostrap.bat и b2.команды exe через корневой каталог Boost:

ушко.летучая мышь по MinGW Б2.exe

по умолчанию библиотеки будут помещены в каталог stage\lib. Как только все ваши библиотеки типа mingw будут сгенерированы, перейдите в проект > параметры сборки и установите дополнительные каталоги поиска, выберите вкладку компоновщика и установите местоположение файлов библиотеки, а на вкладке настроек компоновщика добавьте необходимые имена библиотек(например, boost_filesystem-mgw48-mt-d-1_56), и это должно быть так.