Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Boost Windows установка


Автор: voral 23.8.2011, 20:31
Помогите установить буст под винду. До этого ни когда им не пользовался. Вот теперь вроде и нагуглил много, но ни чего не выходит.
у меня установен MinGW в каталог D:/QtSDK/mingw/

Скачал с офсайта архив. Захожу внутрь и выполняю D:\ProjectC\boost_1_47_0\bootstrap.bat mingw

Сначала ругалось на то что не может найти пути (при это gcc нормально запускается из командной строки т.е. доступен) Прошелся поиском по фалам заменил gcc на полный путь. А так же поставил в двух местах жестко --toolset-root=D:/QtSDK/mingw/

Теперь выдает вот такой лог
Цитата


###
### Using 'mingw' toolset.
###

D:\ProjectC\boost_1_47_0\tools\build\v2\engine>if exist bootstrap rd /S /Q bootstrap 

D:\ProjectC\boost_1_47_0\tools\build\v2\engine>md bootstrap 

D:\ProjectC\boost_1_47_0\tools\build\v2\engine>D:\QtSDK\mingw\bin\gcc -DNT -o bootstrap\jam0.exe  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 

D:\ProjectC\boost_1_47_0\tools\build\v2\engine>.\bootstrap\jam0 -f build.jam --toolset=mingw --toolset-root=D:\QtSDK\mingw\ clean 
...found 1 target...
...updating 1 target...
...updated 1 target...

D:\ProjectC\boost_1_47_0\tools\build\v2\engine>.\bootstrap\jam0 -f build.jam --toolset=mingw --toolset-root=D:\QtSDK\mingw\  
...found 49 targets...
...updating 2 targets...
[COMPILE] bin.ntx86\b2.exe
""gcc"" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

    "gcc"   -o bin.ntx86\b2.exe "-DNDEBUG" "-DOPT_HEADER_CACHE_EXT" "-DOPT_GRAPH_DEBUG_EXT" "-DOPT_SEMAPHORE" "-DOPT_AT_FILES" 
"-DOPT_DEBUG_PROFILE" "-DOPT_FIX_TARGET_VARIABLES_EXT" "-DOPT_IMPROVED_PATIENCE_EXT" "-DNT" "-DYYSTACKSIZE=5000" "-s" "-O3" 
"-finline-functions"  "command.c" "compile.c" "debug.c" "expand.c" "glob.c" "hash.c" "hcache.c" "headers.c" "hdrmacro.c" "jam.c" "jambase.c" 
"jamgram.c" "lists.c" "make.c" "make1.c" "mem.c" "newstr.c" "option.c" "output.c" "parse.c" "regexp.c" "rules.c" "scan.c" "search.c" "subst.c" 
"w32_getreg.c" "timestamp.c" "variable.c" "modules.c" "strings.c" "filesys.c" "builtins.c" "pwd.c" "class.c" "native.c" "md5.c" "modules\set.c" 
"modules\path.c" "modules\regex.c" "modules\property-set.c" "modules\sequence.c" "modules\order.c" "execnt.c" "filent.c" "pathunix.c"

...failed [COMPILE] bin.ntx86\b2.exe...
...skipped bjam.exe for lack of b2.exe...
...failed updating 1 target...
...skipped 1 target...


Не могу разобраться уже 3 часа сижу  smile 

Автор: Cheloveck 23.8.2011, 22:15
Пропиши путь до mingw/bin в переменную среды PATH или временно установи её перед сборкой буста.

Автор: voral 23.8.2011, 23:31
Цитата(Cheloveck @  23.8.2011,  22:15 Найти цитируемый пост)
Пропиши путь до mingw/bin в переменную среды PATH или временно установи её перед сборкой буста. 

Все доступно. В этой переменной они прописаны.

Все практически решил.  Эта проблема была с версией 1.47.0. Скачал 1.46.1. Дошло док компиляции буста.... Но тут все уперлось (после двух часов компилирования (в виртуалке) в нехватку места на диске. Блин - не кисло эта штука место сожрала....

Автор: Леопольд 24.8.2011, 08:50
voral, поставь ubuntu 11.04 там в репозиториях лежит Boost 1.42, его вполне достаточно для обучения. Linux менее требователен к ресурсам (по крайней мере можно все лишние фичи поотключать нафиг), и в любом случае надо под NIX'ами "посидеть"...

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

P.S.
Если ты конечно уже не линуксоид... smile
Лично я юзаю g++ 4.5, IDE CodeBlocks 10, дебагер gdb, профайлер gprof. (профайлер заплагинен в CodeBlocks, надо только доставить пакет со словом contrib)

Автор: voral 24.8.2011, 09:55
Цитата(Леопольд @  24.8.2011,  08:50 Найти цитируемый пост)
voral, поставь ubuntu 11.04 там в репозиториях лежит Boost 1.42, его вполне достаточно для обучения. Linux менее требователен к ресурсам (по крайней мере можно все лишние фичи поотключать нафиг), и в любом случае надо под NIX'ами "посидеть"...

Этот опыт с установкой буста еще раз подтвердил, что я сделал правильный выбор перекочевав несколько лет назад на Debian ;)

Но главное, мне не для обучения - мне конкретную задачу выполнить надо, и надо кроссплатформенно smile


Автор: bsa 24.8.2011, 11:35
voral, отключи сборку лишних целей. по умолчанию собирается куча разных видов библиотек:
static - singlethreaded - release
shared - singlethreaded - release
static - multithreaded - release
shared - multithreaded - relase
static - singlethreaded - debug
shared - singlethreaded - debug
static - multithreaded - debug
shared - multithreaded - debug

Именно отладочная версия весит жуткие гигабайты. Поэтому я собираю себе только static - multithreaded - release и shared - multithreaded - relase

Автор: voral 24.8.2011, 13:51
о. спасибо за инфу

Автор: slavenk 26.8.2011, 08:52
>> voral, отключи сборку лишних целей. по умолчанию собирается куча разных видов библиотек

а как отключить сборку лишних целей, я кстати тоже компилировал и у меня 8 Гб библиотеки скомпилировались (для MinGW и Visual C++).
и что означает multithreaded

я собираю вот так: 

$ b2 --build-dir=".\lib" --toolset=msvc --build-type=complete stage > build_boost_vc10.log
$ b2 -j2 --build-dir=".\lib" --toolset=gcc --build-type=complete stage > build_boost_mingw.log

Автор: alexSl 26.8.2011, 11:36
Вот вам http://www.boostpro.com/download/ .

Автор: slavenk 27.8.2011, 09:47
Спасибо большое за "конфетку", но мне нужно не только компилировать в Visual C++, но и MinGW, поэтому и спрашиваю как убрать debug

попробывал следующим образом, не работает:
$ b2 --build-dir=".\lib" --toolset=msvc --variant=release --build-type=complete stage > build_boost_vc10.log

подскажите пожайлуста, как быть, а то 8 с лишним Гб на винте как-то много для библиотек

Автор: boostcoder 27.8.2011, 20:21
модераторы, закрепите уже хоть раз в шапке что-то вроде http://forum.try-catch.ru/index.php?topic=286.0. подобные темы начинают раздражать. уверен, что не меня одного.

Добавлено через 43 секунды
Цитата(voral @  23.8.2011,  20:31 Найти цитируемый пост)
Скачал с офсайта архив. Захожу внутрь и выполняю D:\ProjectC\boost_1_47_0\bootstrap.bat mingw

Сначала ругалось на то что не может найти пути (при это gcc нормально запускается из командной строки т.е. доступен) Прошелся поиском по фалам заменил gcc на полный путь. А так же поставил в двух местах жестко --toolset-root=D:/QtSDK/mingw/

всегда указывал gcc.

Автор: voral 29.8.2011, 21:55
Цитата(boostcoder @  27.8.2011,  20:21 Найти цитируемый пост)
модераторы, закрепите уже хоть раз в шапке что-то вроде этого. подобные темы начинают раздражать. уверен, что не меня одного.

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

Автор: boostcoder 30.8.2011, 02:43
Цитата(voral @  29.8.2011,  21:55 Найти цитируемый пост)
с последней версией

нужно догадаться? и об ошибках тоже?

Автор: voral 30.8.2011, 08:48
Цитата(boostcoder @  30.8.2011,  02:43 Найти цитируемый пост)
нужно догадаться? и об ошибках тоже? 

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


Вообще на данный момент тема не актуальна для меня. Решу свою задачу, буду разбираться с бустом. Сейчас у меня уже нет последние версии, а так же я уже не помню точно, что и как было. В общих словах, как я понял проблему. Где то в этих батниках коробиться переменная PATH (на это указывает, что скрипты не могут найти gcc который доступен в обычном состоянии окружения). Плюс, на сколько я понял, новая версия собирает толи без использования bjam, толи он переименован, т.к. в одной из попыток я отдельно качал этот bjam не найдя его там где судя по описанию он должен был бы быть. (Отмечу, что это было мое первое знакомство с бустом). Возможно я ошибаюсь, но на данный момент не могу ответить подробнее какие были ошибки еще.

Добавлено через 2 минуты и 29 секунд
boostcoder, вы имеете какое то отношение к бусту? Если да то я готов под вашим руководством локализовать проблему (имхо она где то в батниках)

Автор: boostcoder 30.8.2011, 13:53
Цитата(voral @  30.8.2011,  08:48 Найти цитируемый пост)
вы имеете какое то отношение к бусту?

ага. я его использую.

Цитата(voral @  29.8.2011,  21:55 Найти цитируемый пост)
фишка в том, что данная инструкция не прокатила с последней версией. Этим и был вызван вопрос. На сколько я успел понять (пока у меня есть более срочные вопросы для рассмотрения, этот отложил на "потом") в новой версии подразумевается немного другой путь компиляции.

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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)