2009-04-27 2 views
3

Я могу найти тонны документации общего назначения на Boost.Build, но на удивление нечего использовать ее для создания простых приложений Boost.Создание базовых приложений Boost с помощью bjam

Я скомпилировал Boost для mingw с bjam, получил все библиотеки и включил в C: \ Boost. Теперь, как выглядит основной файл Jamroot, чтобы использовать все это?

Все библиотеки имеют сложные имена, такие как «libboost_filesystem-mgw34-mt-s.lib», я уверен, что есть какой-то волшебный переключатель где-то, чтобы просто сказать «ссылка на libboost_filesystem»!

ответ

6

Конечно, есть ярлыки! Пример проекта может выглядеть следующим образом:

#jamfile - an example Boost.Build project 
exe my_exe : [ glob *.cpp ] /boost//filesystem ; 

Создание исполняемого файла из всех файлов .cpp в каталоге проекта и использование Boost.Filesystem. Тогда вам не нужно создавать какие-либо из бустеров-библиотек вручную, bjam позаботится об этом по мере необходимости. Это также гарантирует, что ваше приложение всегда связывается с библиотеками boost, скомпилированными с правильными параметрами. Для подготовки среды для использования Boost.Build необходимо выполнить некоторую начальную настройку, такую ​​как создание user-config.jam, boost-build.jam и джемпера для удобства (например, заявление use-project /boost : /path/to/boost). Но это одноразовое усилие, и после этого все намного проще, чем раньше. http://www.boost.org/boost-build2/doc/html/index.html

0

Нет необходимости каким-либо образом использовать bjam для создания кода, который работает с boost.

Таким образом, используйте gmake или пакетные скрипты или IDE или что угодно. bjam - один из самых трудных вариантов, как вы нашли, документация оставляет желать лучшего.

Существует очень простой учебник по адресу:

http://www.boost.org/doc/libs/1_39_0/more/getting_started/unix-variants.html

или

http://www.boost.org/doc/libs/1_39_0/more/getting_started/windows.html

+1

Да, я закончил использовать make-файл, я просто подумал, что у bjam есть какие-то ярлыки для повышения, но, видимо, этого не произошло. –