Building Boost BCP - PullRequest
       3

Building Boost BCP

46 голосов
/ 13 января 2009

Я пытался собрать Boost C ++ Библиотеки за последние два часа и остановился безрезультатно. Так как я новичок в C ++, я не могу получить правильную сборку. Как правильно построить его с помощью Visual Studio 2008?

Мне нужно использовать инструмент BCP, чтобы извлечь подмножество библиотеки. Так что мне нужно сначала построить BCP, верно? Как это сделать? Когда я попытался построить его, я получил следующую ошибку

фатальная ошибка LNK1104: не удается открыть файл 'libboost_filesystem-vc90-mt-gd-1_37.lib'.

Где взять указанный выше библиотечный файл?

Ответы [ 4 ]

116 голосов
/ 18 июля 2012

Текущая версия Boost (1.50.0) использует Boost.Build. Новый рабочий процесс для создания BCP выглядит следующим образом:

из корневого каталога Boost, введите:

bootstrap.bat

Затем, после создания Boost.Build, введите:

b2 tools/bcp
35 голосов
/ 13 января 2009

Во-первых, вам нужно иметь соответствующие переменные окружения PATH, INCLUDE и LIB в вашей командной оболочке. Для этого вызовите файл "vcvarsall.bat" (или аналогичный) с параметром:

vcvarsall.bat x86

Далее вам нужно собрать bjam (вы также можете скачать его со страницы Boost, но это почти так же быстро). Перейдите в папку tools\jam\src в Boost и введите:

build.bat

Он должен создать подпапку bin.ntx86, которая содержит bjam.exe. Для удобства скопируйте его в основную папку Boost. Далее вы можете собрать bcp. Перейдите в папку tools\bcp и введите:

..\..\bjam.exe --toolset=msvc

Вернувшись в основную папку Boost, вы можете создать любую библиотеку, какую пожелаете:

bjam toolset=msvc –-with-{library}

где {library} - это одна из библиотек, которую нужно построить. Все доступные для сборки библиотеки могут быть показаны с помощью:

bjam –-show-libraries

Есть много других параметров сборки bjam. Некоторые параметры с ключевыми словами, которые вы можете указать:

variant=debug|release
link=shared|static
threading=multi|single

Примером может быть:

bjam toolset=msvc –-with-filesystem threading=multi variant=debug stage

Для получения дополнительной информации посетите страницы документации Boost .

Редактировать: обновлена ​​ссылка, указывающая на самую последнюю документацию по Boost

Редактировать: исправлены параметры --with- {library} и –-show-library

2 голосов
/ 21 ноября 2016

Я извлек источник: https://github.com/district10/cmake-bcp (Вам не нужно настраивать BOOST, потому что весь исходный код уже включен).

В Linux cmake + make для сборки:

# cd source_dir
mkdir build && cd build
cmake ..
make

В Windows: CMake-GUI + Visual Studio для сборки. Нужна помощь? См. HOWTO: Win + CMake + Visual Studio 2010 .

Мои исполняемые файлы:


Совет. Если вы столкнулись с проблемами компоновки в Windows при использовании Boost, проверьте boost/config/auto_link.hpp, и вы поймете. Чтобы решить эту проблему, вы можете просто закомментировать весь файл.

0 голосов
/ 12 декабря 2009

Обратите внимание, что вам не нужно собирать свои версии bcp для Windows из исходного кода - вы также можете скачать двоичную версию из http://www.boostpro.com/download, и пропустить все эти шаги.

(Или, по крайней мере, так обстоит дело в теории - я не пробовал; я просто нашел эту страницу и эту, когда искал предварительно собранную версию для Linux.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...