Ответы:
Короткий ответ:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
В качестве более подробного ответа, вот мои заметки по сборке для 32-разрядных и 64-разрядных библиотек повышения VS .NET 2008 в одной иерархии (что, как я подозреваю, является распространенным вариантом использования):
Соберите двоичные файлы win32
bjam --toolset=msvc-9.0 --build-type=complete stage
Создайте каталог lib \ win32
Соберите двоичные файлы x64
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
Создайте каталог lib \ x64
У меня есть встроенные двоичные файлы на моем сайте: http://boost.teeks99.com
Изменить 2013-05-13: Мои сборки теперь доступны (начиная с 1.53) прямо со страницы sourceforge .
ОБНОВЛЕНИЕ (19.09.2017): добавлены строки скрипта для VS2017. Имейте в виду, что Boost поддерживает компилятор VS2017 из указанной выше версии. Я использовал последнюю версию (1.65.1).
Я использовал эти сценарии для создания boost для платформ x64 и x86, lib и dll, отладки и выпуска для VS2017, VS2015 и VS2013:
md stage\VS2017\x64
md stage\VS2015\x64
md stage\VS2013\x64
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release
md stage\VS2017\win32
md stage\VS2015\win32
md stage\VS2013\win32
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release
pause
Вы можете создать .bat
файл и запустить его для создания двоичных файлов ускорения.
На данный момент 64-разрядные двоичные файлы, предоставляемые teeks99 (см. Другой ответ), кажутся единственными бесплатными 64-разрядными двоичными файлами. Некоторое время BoostPro также предоставлял 64-битные двоичные файлы, но с 1.51 они, похоже, не работают.
Итак, мы снова вернулись к двум вариантам: двоичные файлы teeks99 или создание собственного.
Большая часть информации, которая мне нужна для создания собственного, была здесь: https://stackoverflow.com/a/2655683/613288
Не хватало только того, как заставить это работать с бесплатной версией Visual Studio 2010 Express. Я нашел эту недостающую часть где-то еще, и после некоторой настройки окончательный рецепт, который я использовал для моей сборки двоичных файлов boost 1.49.0, был:
Запустите Visual C ++ и из меню «Инструменты» запустите командную строку Visual Studio.
В окне консоли сделайте следующее:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /Release /x64
а затем в каталоге boost:
bootstrap.bat
b2 -a -sBZIP2_SOURCE="C:\bzip2-1.0.6" -sZLIB_SOURCE="C:\zlib-1.2.5" --toolset=msvc-10.0 architecture=x86 address-model=64 link=static --with-date_time --with-filesystem --with-serialization --with-test --with-thread --with-system --with-regex --with-iostreams stage
Последняя команда настроена для того, что мне нужно (только некоторые статически связанные библиотеки).
Я сделал небольшой скрипт, который компилирует их все для VS2005 и VS2008:
md stage\lib\win32
md stage\lib\x64
REM Visual Studio 2005
bjam --toolset=msvc-8.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\
bjam --toolset=msvc-8.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\
REM Visual Studio 2008
bjam --toolset=msvc-9.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\