Что такое хорошее пошаговое объяснение о том, как пользоваться библиотекой Boost в пустом проекте в Visual Studio?
Хотя ответ Нейта уже довольно хорош, я собираюсь расширить его более конкретно для Visual Studio 2010 по запросу и включить информацию о компиляции в различные дополнительные компоненты, для которых требуются внешние библиотеки.
Если вы используете библиотеки только для заголовков, то все, что вам нужно сделать, это разархивировать ускоренную загрузку и настроить переменные среды. В приведенной ниже инструкции задаются переменные среды только для Visual Studio, а не для всей системы в целом. Обратите внимание, что вам нужно сделать это только один раз.
C: \ boost_1_47_0
). Microsoft.Cpp. .user
и выберите Свойства
, чтобы открыть страницу свойств для редактирования. Каталоги VC ++
слева. Включить каталоги
, чтобы включить путь к вашим исходным файлам повышения. Если вы хотите использовать ту часть повышения, которая требует построения, но не использовать функции, требующие внешних зависимостей, то создать ее довольно просто.
C: \ boost_1_47_0
). bootstrap.bat
, чтобы собрать b2.exe (ранее называвшийся bjam). Запустите b2:
b2 --toolset = msvc-10.0 --build-type = завершение этапа
; b2 --toolset = msvc-10.0 --build-type = complete architecture = x86 address-model = 64 stage
Прогуляйтесь / посмотрите фильм или 2 / ....
Каталоги библиотек
, чтобы указать путь к выходным данным вашей библиотеки ускорения. (По умолчанию для примера и инструкций, приведенных выше, будет C: \ boost_1_47_0 \ stage \ lib
. Переименуйте и переместите каталог сначала, если вы хотите, чтобы x86 и x64 располагались рядом (например, в \ lib \ x86
& \ lib \ x64
). Если вам нужен необязательные компоненты, тогда у вас будет больше работы. Это:
Boost.IOStreams Фильтры Bzip2:
C: \ bzip2-1.0.6
). -sBZIP2_SOURCE = "C: \ bzip2-1.0.6"
при запуске b2 на шаге 5. ] Boost.IOStreams Zlib фильтры
C: \ zlib-1.2.5
). -sZLIB_SOURCE = "C: \ zlib-1.2.5"
при запуске b2 на шаге 5. Boost.MPI
project-config.jam
в каталоге
, возникший в результате запуска начальной загрузки. Добавьте строку с использованием mpi;
(обратите внимание на пробел перед ";"). Boost.Python
Для полной сборки 32-битной версии библиотеки требуется 32-битный Python, аналогично для 64-битной версии. Если по этой причине у вас установлено несколько версий, вам нужно указать b2, где найти конкретную версию и когда использовать какую. Один из способов сделать это - отредактировать файл project-config.jam
в каталоге
, который появился в результате запуска начальной загрузки. Добавьте следующие две строки, соответствующие вашим путям и версиям установки Python (обратите внимание на пробел перед ';').
с использованием python: 2.6: C: \\ Python \\ Python26 \\ python;
с использованием python: 2.6: C: \\ Python \\ Python26-x64 \\ python:::
Обратите внимание, что такая явная спецификация Python в настоящее время приводит к сбою сборки MPI. Так что вам нужно будет создать отдельную сборку со спецификацией и без нее, чтобы собрать все, если вы также создаете MPI.
Следуйте второму набору инструкций выше, чтобы создать ускорение.
Повышение.Поддержка Regex ICU
C: \ icu4c-4_8
). \ source \ allinone
. -sICU_PATH = "C: \ icu4c-4_8"
при запуске b2 на шаге 5. Какие части Boost вам нужны? Многие вещи являются частью TR1, поставляемого с Visual Studio, поэтому вы можете просто сказать, например:
#include <tr1/memory>
using std::tr1::shared_ptr;
По словам Джеймса, это также должно работать (в C ++ 0x):
#include <memory>
using std::shared_ptr;
Хотя инструкции на веб-сайте Boost полезны, вот сокращенная версия, которая также создает библиотеки x64.
Это устанавливает файлы заголовков Boost в C: \ Boost \ include \ boost- (version)
, а 32-битные библиотеки в C: \ Boost \ lib \ i386
. Обратите внимание, что расположение библиотек по умолчанию - C: \ Boost \ lib
, но вы захотите поместить их в каталог i386
, если вы планируете сборку для нескольких архитектур.
bootstrap
Выполнить: b2 toolset = msvc-12.0 --build-type = complete --libdir = C: \ Boost \ lib \ i386 install
toolset = msvc-11.0
toolset = msvc-10.0
toolset = msvc-14.1
Добавить C: \ Boost \ include \ boost- (version)
в ваш путь включения.
C: \ Boost \ lib \ i386
в путь к вашей библиотеке. Это устанавливает файлы заголовков Boost в C: \ Boost \ include \ boost- (version)
, а 64-битные библиотеки в C: \ Boost \ lib \ x64
.Обратите внимание, что расположение библиотек по умолчанию - C: \ Boost \ lib
, но вы захотите поместить их в каталог x64
, если планируете сборку для нескольких архитектур.
bootstrap
b2 toolset = msvc-12.0 --build-type = complete --libdir = C: \ Boost \ lib \ x64 architecture = x86 address-model = 64 install
toolset = msvc-11.0
toolset = msvc-10.0
C: \ Boost \ include \ boost - (версия)
на ваш путь включения. C: \ Boost \ lib \ x64
в путь к вашей библиотеке. Также небольшое примечание: Если вы хотите сократить время компиляции, вы можете добавить флаг
-j2
для одновременного запуска двух параллельных сборок. Это может свести его к просмотру одного фильма ;)
Вы также можете попробовать -j% NUMBER_OF_PROCESSORS% в качестве аргумента, он будет использовать все ваши ядра. Делает вещи супербыстрыми на моем четырехъядерном процессоре.