Подтвердить что ты не робот

Building Boost BCP

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

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

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

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

4b9b3361

Ответ 1

Во-первых, вы должны иметь правильные переменные среды 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-libraries

Ответ 2

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

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

bootstrap.bat

Затем, как только Boost.Build будет построен, введите:

b2 tools/bcp

Ответ 3

Я извлек источник: 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, и вы поймете. Чтобы решить эту проблему, вы можете просто прокомментировать весь файл.

Ответ 4

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

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