| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Проблема с библиотекой Boost |
| Автор: kurguru 3.5.2008, 15:41 | ||||||
| Здравствуйте! Ситуация следующая. Я новичок в отношении библиотеки Boost. Скачал все исходники и бОльшую часть библиотечных файлов (.lib). Прописал, что надо, в VC 8.0, попробовал пару примеров. Но когда дело дошло до примера, в котором используется библиотека System, оказалось, что такого *.lib файла нет.
Я посмотрел, инсталлятор от BoostConsulting.com такую либу скачать не поможет. Пришлось пробовать использовать bjam.exe. Вызываю bjam, из корневой директории Boost, вот так:
Что-то я уже запутался... Может, это и неправильно. Но в любом случае, что бы я ни писал, bjam выдает примерно одну и ту же ошибку:
Подскажите, как же мне всё-таки собрать эту библиотеку libboost_блаблабла_.lib ? |
| Автор: Lazin 3.5.2008, 20:46 |
| видимо bjam не знает про msvc-8.0 попробуй скачать последнюю версию bjam |
| Автор: kurguru 4.5.2008, 06:34 |
| Я использовал bjam, слитый с boost-consulting.com, декабрьский (02.12.07), а вместе с библиотекой шёл более старый (28.08.07), лежит в boost\bin. Сейчас попробовал старый - та же история. Скачал исходники bjam, собрал их - собралось всё без проблем. В итоге у меня есть ещё одна версия этого bjam. Но и с ней то же самое. та же ошибка =\ Может быть, я что-то где-то не прописал? Например, путь BOOST_ROOT - он где прописывается? Если это вообще нужно... |
| Автор: Alek86 4.5.2008, 13:17 | ||
| помойму ты должен написать еще --build-dir - куда временные файлы будут кидаться к примеру
|
| Автор: kurguru 4.5.2008, 13:42 |
| Я на работе сейчас, как приду домой - попробую. Но я уже и так и сяк пробовал. Вроде бы в хелпе по bjam сказано, что --build-dir - опционально, по умолчанию оно ставится куда-то в директорию boost. Попробовал с --build-dir - то же самое. Пробовал и --toolset=msvc и --toolset=msvc-8.0 - одно и то же. |
| Автор: Lazin 4.5.2008, 14:48 | ||||
что-то я ступил, msvc 8 поддерживается, вот msvc 2008 пока-что нет
все должно собираться... скачай свежую версию, затем в папке ../boost_1_35_0/ скомандуй:
после сборки я обычно копирую все lib файлы в одну папку и прописываю путь к ней в студии (в настройках самой студии а не отдельного проекта), ну и конечно нужно удалить obj файлы то что скачал с boost_consulting снеси. |
| Автор: Alek86 5.5.2008, 09:41 |
у тебя разве они сами не копируются в BOOST_ROOT/stage/lib? |
| Автор: Lazin 5.5.2008, 09:54 |
| У меня они распределены по папкам в boost_dir а я их в один каталог переношу, а что? |
| Автор: Alek86 5.5.2008, 09:59 | ||
ты ж пишешь
в коммандной стоке лично у меня при этом в папку stage и копируются все либы и диелелки... |
| Автор: kurguru 5.5.2008, 10:06 |
| Lazin, Alek86, Я заново слил и переставил boost, собрал bjam и, наконец-то, собрал все либы! Правда, не совсем те версии, что нужны, но это я уже разберусь. В чем была проблема - не знаю, но, как говорится, семь бед - один reset =) Собирал либы так: d:\_coding\boost> bjam --toolset=msvc-8.0 --build-dir="C:\boost" stage Всё собралось, в C:\boost\stage\ легло несколько папок (по именам библиотек), в каждой ещё подпапки, файлы и т.д. Плюс, bjam сам скинул все полученные *.lib и *.dll файлы в папку, где установлен boost. Как собрать нужные мне версии либ(статические, длл, дебаг, релиз и т.д.) - можно было бы спросить у вас, но лучше разберусь сам =) Всем большое спасибо! |
| Автор: Alek86 5.5.2008, 10:22 |
| кстати, при обычной сборке на msvc у меня почему-то не подставлялись префиксы lib, где они нужны были то есть существовал файл boost_serialization-vc80-mt-1_35.lib, а при компиляции требовалась libboost_serialization-vc80-mt-1_35.lib. При полной сборке (complete) эта проблема исчезла. интересно, это только у меня такое или баг в bjam'е? |