C++ Boost настройка, установка, использование - просто

Введение

Boost мультиплатформенная библиотека
с++ расширяющая функциональность этого языка на порядок. Построена на
основе STL и является по существу продвинутым вариантом RTL для c++
приближающей его к базовой фукнциональности JDK и .NET

Установка на примере windows

Опуская различные особенности указанные в документации надо:

1 Скачать исходники последней версии здесь

2 Распаковать и скопировать исходники

3 Скачать прекомпилированный инструмент установки для своей операционной системы здесь

3 Распаковать и скопировать инструмент в один из каталогов указанных в переменной PATH

4 Перейти в каталог с исходниками

5 Запустить компиляцию для всоего компилятора (из списка поддерживаемых)

stage - для компиляции только библиотек

install - для полной установки

Пример:

bjam "-sTOOLS=msvc" stage

Примечание - если компилятор установлен не по стандартному пути то для него надо переназначить переменные

Пример:

bjam "-sTOOLS=msvc" "-sMSVC_ROOT=c:\develop\Microsoft Visual Studio\VC98" 
"-sVISUALC=c:\develop\Microsoft Visual C++\VC98" stage

Пример:

Компиляция с 

Пример:

Компилировать только thread
bjam "-sTOOLS=msvc-stlport" "-sSTLPORT_PATH=F:\Libraries\STLport-4.5.3"
"--without-test" "--without-regex" "--without-signals" "--without-filesystem"
"--without-date_time" stage

Boost 1.31 + STLPort MSVC использование thread в отладочном режиме

Проблема
с Microsoft Visual Studio в том, что в заголовк config/auto_link.hpp
стоит настройка для этого компилятора использовать в отладочной версии
Boost_thread со статической линковкой RTL (-sgdp).А именно такую
конфигурацию не компилирует ни при каких условиях boostjam :-(

Благо решается все просто

1 Откомпилировать boost для msvc-stlport с поддержкой stlport-iostream on

2 подложить lib и dll boost_thread-vc6-mt-gdp-1_31 и boost_thread-vc6-mt-p-1_31 в свои каталоги

3 Надо для своей программы задать в настройках проекта __STL_DEBUG=1

4 В файле config/auto_link.hpp строке 198 заменить # define BOOST_LIB_RT_OPT "-sgdp"
на # define BOOST_LIB_RT_OPT "-gdp"

После этого программа должна скомпилироваться без проблем.

0
Your rating: Нет