Risposte:
In breve risposta:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
Come risposta più lunga, ecco le mie note di build per avere le librerie boost di VS .NET 2008 a 32 bit e 64 bit nella stessa gerarchia (che sospetto sia un caso d'uso comune):
Compilare i binari di win32
bjam --toolset=msvc-9.0 --build-type=complete stage
Crea la directory lib \ win32
Compila i binari x64
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
Crea la directory lib \ x64
Ho i binari compilati sul mio sito: http://boost.teeks99.com
Modifica 2013-05-13: le mie build sono ora disponibili (a partire dalla 1.53) direttamente dalla pagina di sourceforge .
UPDATE (19.09.2017): aggiunte righe di script per VS2017. Tieni presente che Boost supporta il compilatore VS2017 da una determinata versione sopra. Ho usato l'ultima versione (1.65.1).
Ho usato questi script per creare boost per piattaforme x64 e x86, lib e dll, debug e rilascio per VS2017, VS2015 e 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
Puoi creare un .bat
file ed eseguirlo per costruire i tuoi binari boost.
In questo momento, i binari a 64 bit forniti da teeks99 (vedi altra risposta) sembrano essere gli unici binari a 64 bit liberi in circolazione. Per un po ', BoostPro ha fornito anche binari a 64 bit, ma a partire dalla 1.51 sembrano essere fuori o per affari.
Quindi, eccoci di nuovo a due opzioni: i binari di teeks99 o crearne uno tuo.
La maggior parte delle informazioni di cui avevo bisogno per creare il mio era qui: https://stackoverflow.com/a/2655683/613288
L'unica cosa che mancava era come farlo funzionare con la versione gratuita di Visual Studio 2010 Express. Ho trovato quella parte mancante da qualche altra parte e, dopo alcune personalizzazioni, la ricetta finale che ho usato per la mia build dei binari boost 1.49.0 è stata:
Avvia Visual C ++ e dal menu Strumenti avvia il prompt dei comandi di Visual Studio.
Nella finestra della console, eseguire le operazioni seguenti:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /Release /x64
e poi nella directory 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
L'ultimo comando è personalizzato per quello che mi è capitato di aver bisogno (solo alcune librerie collegate staticamente).
Ho realizzato un piccolo script che li compila tutti per VS2005 e 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\