пятница, 21 ноября 2008 г.

Использование частей boost в своих проектах

Утащено отсюда.

"Беседуя с разными разработчиками внезапно выяснил, ...
Как выяснилось, многие из этих разработчиков просто не знают про замечательную утилиту bcp"...
 Утилита bcp (она находится в каталоге tools дистрибутива boost) предназначена для копирования частей boost'а в другие проекты, включая все необходимые зависимости. Это позволяет не втягивать в проект полное дерево исходных текстов boost'а, или устанавливать пакеты отдельно. 

Работа с данной программой очень проста - вам надо в командной строке указать какую библиотеку или заголовочный файл вы хотите использовать у себя, и указать куда копировать файлы. Например, вот так: # bcp smart_ptr ~/tmp/my-project/boost/


Эта команда скопирует библиотеку smart_ptr со всеми зависимостями в нужный каталог, и вам в проекте нужно будет лишь прописать соответствующие ключи компилятора, которые позволят ее там найти. Так что все просто :-)

Стоит отметить, что данную команду надо запускать стоя в корневом каталоге дистрибутива исходных текстов boost, а также то, что внутри этого каталога будут созданы каталоги boost - для заголовочных файлов и libs - для документации, примеров и исходных текстов библиотеки (если она не полностью реализуется в заголовочных файлах).

Добавлю пару соображений - помимо удобства прямой интеграции при таком подходе снимается зависимость поставляемого компонента (в случае нашей конторы) от boost, который тоже является компонентом. 
Единственное ограничение (зато какое!) - boost не должен торчать наружу, ни в виде заголовков, ни в виде компонуемых библиотек, ни в виде статической зависимости от DLL'й boost'a (никто не говорил, что они будут собраны с теми же опциями, что и "эталонный" пакет).

Комментариев нет: