Building Boost BCP
Я пытался создать Boost С++ Libraries за последние два часа и остановился без каких-либо результатов. Поскольку я новичок в С++, я не могу получить правильную сборку. Как я могу правильно построить его с помощью Visual Studio 2008?
Мне нужно использовать инструмент BCP для извлечения подмножества библиотеки. Поэтому мне нужно сначала создать BCP, верно? Как это сделать? Когда я попытался его построить, я получил следующую ошибку:
Неустранимая ошибка LNK1104: невозможно открыть файл libboost_filesystem-vc90-mt-gd-1_37.lib.
Где я могу получить указанный выше файл библиотеки?
Ответы
Ответ 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.)