Odpowiedzi:
Krótko mówiąc:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
Jako dłuższą odpowiedź, oto moje uwagi dotyczące kompilacji dotyczące posiadania 32-bitowych i 64-bitowych bibliotek zwiększających VS .NET 2008 w tej samej hierarchii (co, jak podejrzewam, jest częstym przypadkiem użycia):
Zbuduj pliki binarne win32
bjam --toolset=msvc-9.0 --build-type=complete stage
Utwórz katalog lib \ win32
Zbuduj pliki binarne x64
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
Utwórz katalog lib \ x64
Mam wbudowane pliki binarne na mojej stronie: http://boost.teeks99.com
Edytuj 2013-05-13: Moje kompilacje są teraz dostępne (począwszy od 1.53) bezpośrednio ze strony sourceforge .
UPDATE (19.09.2017): dodano wiersze skryptu dla VS2017. Należy pamiętać, że Boost obsługuje kompilator VS2017 od określonej powyżej wersji. Użyłem najnowszej wersji (1.65.1).
Użyłem tych skryptów do budowania przyspieszenia dla platform x64 i x86, lib i dll, debugowania i wydania dla VS2017, VS2015 i 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
Możesz utworzyć .bat
plik i uruchomić go w celu zbudowania plików binarnych boost.
W tej chwili 64-bitowe pliki binarne dostarczone przez teeks99 (zobacz inną odpowiedź) wydają się być jedynymi dostępnymi 64-bitowymi plikami binarnymi. Przez pewien czas BoostPro zapewniał również 64-bitowe pliki binarne, ale od 1.51 wydają się być niedostępne lub biznesowe.
Wracamy więc do dwóch opcji: binarne teeks99 lub tworzenie własnych.
Większość informacji potrzebnych mi do zbudowania własnej znajdowała się tutaj: https://stackoverflow.com/a/2655683/613288
Brakowało tylko tego, jak sprawić, by działało z bezpłatną wersją programu Visual Studio 2010 Express. Znalazłem tę brakującą część gdzie indziej i po pewnym dostosowaniu ostateczny przepis, którego użyłem do mojej kompilacji plików binarnych doładowania 1.49.0, brzmiał:
Uruchom program Visual C ++ iz menu Narzędzia uruchom wiersz polecenia programu Visual Studio.
W oknie konsoli wykonaj następujące czynności:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /Release /x64
a następnie w katalogu 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
Ostatnie polecenie jest dostosowane do tego, czego potrzebowałem (tylko niektóre biblioteki połączone statycznie).
Zrobiłem dla mnie mały skrypt, który kompiluje je wszystkie dla VS2005 i 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\