Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с библиотекой Boost, Не получается собрать... 
V
    Опции темы
kurguru
Дата 3.5.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 21.5.2007
Где: Земля

Репутация: нет
Всего: нет



Здравствуйте!

Ситуация следующая. Я новичок в отношении библиотеки Boost. Скачал все исходники и бОльшую часть библиотечных файлов (.lib). Прописал, что надо, в VC 8.0, попробовал пару примеров.
Но когда дело дошло до примера, в котором используется библиотека System, оказалось, что такого *.lib файла нет.
Код

LINK : fatal error LNK1104: cannot open file 'libboost_system-vc80-mt-gd-1_35.lib'

Я посмотрел, инсталлятор от BoostConsulting.com такую либу скачать не поможет. Пришлось пробовать использовать bjam.exe. Вызываю bjam, из корневой директории Boost, вот так:
Код

bjam --toolset=msvc-8.0 --with-system stage

Что-то я уже запутался... Может, это и неправильно.
Но в любом случае, что бы я ни писал, bjam выдает примерно одну и ту же ошибку:
Код

D:/_Coding/boost/tools/build/v2/build\project.jam:292: in load-jamfile
*** argument error
* rule path.parent ( path )
* called with: ( project-root.jam Jamroot )
* extra argument Jamroot
D:/_Coding/boost/tools/build/v2/util\path.jam:89:see definition of rule 'parent' being called
D:/_Coding/boost/tools/build/v2/build\project.jam:63: in load
D:/_Coding/boost/tools/build/v2/build\project.jam:167: in project.find
D:/_Coding/boost/tools/build/v2\build-system.jam:516: in load
D:\_Coding\boost\tools\build\v2/kernel\modules.jam:267: in import
D:\_Coding\boost\tools\build\v2/kernel/bootstrap.jam:132: in boost-build
D:\_Coding\boost\boost-build.jam:11: in module scope

Подскажите, как же мне всё-таки собрать эту библиотеку libboost_блаблабла_.lib ? 
PM MAIL ICQ   Вверх
Lazin
Дата 3.5.2008, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



видимо bjam не знает про msvc-8.0

попробуй скачать последнюю версию bjam
PM MAIL Skype GTalk   Вверх
kurguru
Дата 4.5.2008, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 21.5.2007
Где: Земля

Репутация: нет
Всего: нет



Я использовал bjam, слитый с boost-consulting.com, декабрьский (02.12.07), а вместе с библиотекой шёл более старый (28.08.07), лежит в boost\bin.
Сейчас попробовал старый - та же история. Скачал исходники bjam, собрал их - собралось всё без проблем. В итоге у меня есть ещё одна версия этого bjam. Но и с ней то же самое. та же ошибка =\
Может быть, я что-то где-то не прописал? Например, путь BOOST_ROOT - он где прописывается? Если это вообще нужно...

PM MAIL ICQ   Вверх
Alek86
Дата 4.5.2008, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



помойму ты должен написать еще --build-dir - куда временные файлы будут кидаться
к примеру

Код
bjam --build-dir="D:\boost-1.35.0-libs" --toolset=msvc stage




--------------------
user posted image    user posted image
PM MAIL   Вверх
kurguru
Дата 4.5.2008, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 21.5.2007
Где: Земля

Репутация: нет
Всего: нет



Я на работе сейчас, как приду домой - попробую. Но я уже и так и сяк пробовал. Вроде бы в хелпе по bjam сказано, что --build-dir - опционально, по умолчанию оно ставится куда-то в директорию boost.
Попробовал с --build-dir - то же самое. Пробовал и --toolset=msvc и --toolset=msvc-8.0 - одно и то же.

Это сообщение отредактировал(а) kurguru - 4.5.2008, 17:41
PM MAIL ICQ   Вверх
Lazin
Дата 4.5.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



что-то я ступил, msvc 8 поддерживается, вот msvc 2008 пока-что нет
Цитата(http://www.boost.org)

Microsoft Visual C++ 7.1 and 8 on Windows (Visual Sudio .NET 2003 and 2005). 

все должно собираться... скачай свежую версию, затем в папке ../boost_1_35_0/  скомандуй:
Код

bjam --build-dir="C:\boost\" --toolset=msvc stage


после сборки я обычно копирую все lib файлы в одну папку и прописываю путь к ней в студии (в настройках самой студии а не отдельного проекта), ну и конечно нужно удалить obj файлы
то что скачал с boost_consulting снеси.


Это сообщение отредактировал(а) Lazin - 4.5.2008, 14:49
PM MAIL Skype GTalk   Вверх
Alek86
Дата 5.5.2008, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



Цитата(Lazin @  4.5.2008,  14:48 Найти цитируемый пост)
после сборки я обычно копирую все lib файлы в одну папку

у тебя разве они сами не копируются в  BOOST_ROOT/stage/lib?
smile 


--------------------
user posted image    user posted image
PM MAIL   Вверх
Lazin
Дата 5.5.2008, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 41
Всего: 154



У меня они распределены по папкам в boost_dir а я их в один каталог переношу, а что?
PM MAIL Skype GTalk   Вверх
Alek86
Дата 5.5.2008, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



ты ж пишешь
Цитата
stage

в коммандной стоке
лично у меня при этом в папку stage и копируются все либы и диелелки...


--------------------
user posted image    user posted image
PM MAIL   Вверх
kurguru
Дата 5.5.2008, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 21.5.2007
Где: Земля

Репутация: нет
Всего: нет



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.

Как собрать нужные мне версии либ(статические, длл, дебаг, релиз и т.д.) - можно было бы спросить у вас, но лучше разберусь сам =)

Всем большое спасибо!
PM MAIL ICQ   Вверх
Alek86
Дата 5.5.2008, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



кстати, при обычной сборке на msvc у меня почему-то не подставлялись префиксы lib, где они нужны были
то есть существовал файл boost_serialization-vc80-mt-1_35.lib, а при компиляции требовалась libboost_serialization-vc80-mt-1_35.lib. При полной сборке (complete) эта проблема исчезла. интересно, это только у меня такое или баг в bjam'е?

Это сообщение отредактировал(а) Alek86 - 5.5.2008, 10:22


--------------------
user posted image    user posted image
PM MAIL   Вверх
kurguru
Дата 5.5.2008, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 21.5.2007
Где: Земля

Репутация: нет
Всего: нет



Цитата(Alek86 @  5.5.2008,  10:22 Найти цитируемый пост)
при обычной сборке на msvc у меня почему-то не подставлялись префиксы lib, где они нужны были
то есть существовал файл boost_serialization-vc80-mt-1_35.lib, а при компиляции требовалась libboost_serialization-vc80-mt-1_35.lib.

У меня при полной сборке то же самое было. Взял, да и переименовал "пачку" библиотек "*.lib" -> "lib*.lib"
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0610 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.