Как установить библиотеки Boost с CodeBlocks? - PullRequest
10 голосов
/ 31 июля 2011

Так что я нахожусь в конце моей строки здесь;Я смотрел на сохранение файлов и сериализацию, только чтобы узнать, что 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.Но это тоже не работает.При запуске \ bootstrap.bat я получаю следующую ошибку:

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

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

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

c:\Program Files (x86)\CodeBlocks\MinGW\downloaded\boost_1_47_0\tools\build\v2\engine>if exist bootstrap rd /S /Q bootstrap 

c:\Program Files (x86)\CodeBlocks\MinGW\downloaded\boost_1_47_0\tools\build\v2\engine>md bootstrap 

c:\Program Files (x86)\CodeBlocks\MinGW\downloaded\boost_1_47_0\tools\build\v2\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0  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 ]

3 голосов
/ 31 июля 2011

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

0 голосов
/ 15 декабря 2014

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

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

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

bootstrap.bat mingw b2.exe

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

0 голосов
/ 03 марта 2014

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

УСТАНОВКА ПОГРУЗКИ:

Загрузите пакет форсирования zip или 7zip.Извлеките содержимое в extract_dir.

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

Если папка minGW \ bin (находится в папке установки CodeBlocks) отсутствует в переменной пути, добавьте ее.

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

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

bootstrap.exe mingw

Откройте файл extract_dir \ project-config.jam в Блокноте и измените слово msvc на gcc.

Вернувшись в окно командной строки, запустите

b2.exe

НАСТРОЙКА ЗАГРУЗКИ С CODEBLOCKS

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

...