Сборка основного набора библиотек

Скачиваем boost

Скачать boost с сайта boost.org. На данный момент, текущая версия: 1.57.0

Распаковываем архив

Распаковать в каталог на диске компьютера. Например, в каталог d:\sdk.

В этом случае, файлы библиотеки будут располагаться в каталоге d:\sdk\boost_1_57_0

Собираем boost

Многие библиотеки, входящие в состав boost, являются header-only, т.е. их код целиком и полностью находится в заголовочных файлах.

Ряд других библиотек (как правило, реализация которых зависит от используемой платформы), требуют предварительной сборки.

Открываем командную строку с настроенными переменными окружения установленной Visual Studio

В Start Menu->Programs выбрать Visual Studio 2013[1]\Visual Studio Tools.

В открывшемся окне Windows Explorer выбираем Developer Command Prompt for VS2013.

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

Переходим в каталог d:\sdk\boost_1_57_0, выполнив из консоли команды

> d:
> cd d:\sdk\boost_1_57_0


Выполняем запуск скрипта для первоначальной сборки движка Boost.Build

Из командной строки запускаем скрипт bootstrap.bat:

> bootstrap

В результате будет собрано приложение b2.exe, при помощи которого можно будет выполнить сборку необходимых компонентов boost

Сборка библиотек boost

Для получения информации о доступных опциях командной строки запускаем приложение с ключом --help.

Сборка основного набора библиотек

Из командной строки выполняем запуск b2.exe

> b2.exe

Идем пить кофе, пока выполняется сборка библиотек.

По окончании должно появиться радостное приветствие об окончании процесса сборки.

Опциональная сборка версий библиотек, использующих статический C++-runtime

На предущем шаге по умолчанию будут собраны версии Debug и Release версии библиотек, использующие динамическую компоновку c runtime-библиотекой C++[2]. Это означает, что для запуска приложения на компьютере пользователя должен быть установлен C++ runtime.

При установке Visual Studio runtime-библиотеки устанавливаются по умолчанию, однако на компьютере конечного пользователя их может не оказаться (либо будут установлены не те версии). В результате приложение запустить не получится. Возможны 2 решения проблемы:

Установка C++ Runtime при установке приложения на компьютере конечного пользователя

При таком сценарии при установке приложения необходимо выполнить запуск установщика C++ runtime. Для Visual Studio 2013 exe-файлы установки располагаются в каталоге {Visual Studio installation folder}\VC\redist\1033. Рассмотрение данного сценария выходит за рамки настоящей статьи.

Статическая компоновка приложения с C++ Runtime.

В этом случае код С++ runtime будет содержаться внутри исполняемого файла приложения, и его запуск на компьютере пользователя не будет требовать предварительной установки C++ runtime на компютере.

В окне настроек C++ проекта на странице свойств Configuration Properties->C/C++->Code Generation настройку Runtime Library следует выставить в:

· Multi-threaded (/MT) в Release-конфигурации

· Multi-threaded (/MTd) в Debug-конфигурации

В этом случае все библиотеки, подключаемые к приложению (в т.ч. boost), должны также быть собраны со статической компоновкой C++ runtime.

Сборка boost со статической компоновкой C++ runtime.

Для сборки boost со статической компоновкой C++ runtime используем команду:

> b2 runtime-link=static

Также придется некоторое время подождать, пока сборка завершится. Собранные библиотеки boost будут иметь имя, отличное от библиотек, использующих динамическую компоновку с C++ runtime, поэтому их можно использовать совместно.

Анализ результатов

В результате сборки библиотек boost каталог {boost_install_dir}\stage\lib будет содержать файлы библиотек. Для каждой библиотеки будут собраны по 2 или 4 версии каждой библиотеки.

Каждый файл библиотеки имеет один из следующих вариантов имен:

Имя файла Конфигурация C++ Runtime
libboost_<библиотека>-vc120-mt-<версия boost>.lib Release Dynamic
libboost_<библиотека>-vc120-mt-gd-<версия boost>.lib Debug Dynamic
libboost_<библиотека>-vc120-mt-s-<версия boost>.lib Release Static
libboost_<библиотека>-vc120-mt-sgd-<версия boost>.lib Debug Static

vc120 означает, что библиотека собрана с использованием компилятора 12-й версии[3] Visual C++.

Содержимое каталога с файлами библиотек примерно следующее:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: