Respostas:
Como resposta curta:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
Como resposta mais longa, aqui estão minhas notas de compilação para ter as bibliotecas de impulso do VS .NET 2008 de 32 e 64 bits na mesma hierarquia (que eu suspeito ser um caso de uso comum):
Crie os binários win32
bjam --toolset=msvc-9.0 --build-type=complete stage
Crie o diretório lib \ win32
Crie os binários x64
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
Crie o diretório lib \ x64
Eu tenho os binários criados no meu site: http://boost.teeks99.com
Editar 13-05-2013: Minhas construções agora estão disponíveis (a partir de 1.53) diretamente da página do sourceforge .
UPDATE (19.09.2017): linhas de script adicionadas para o VS2017. Esteja ciente de que o Boost suporta o compilador VS2017 a partir de uma determinada versão acima. Eu usei a versão mais recente (1.65.1).
Usei esses scripts para criar impulso para as plataformas x64 e x86, lib e dll, depuração e lançamento para 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
Você pode criar um .bat
arquivo e executá-lo para criar seus binários de impulso.
Neste momento, os binários de 64 bits fornecidos pelo teeks99 (consulte outra resposta) parecem ser os únicos binários de 64 bits gratuitos disponíveis. Por um tempo, o BoostPro também forneceu binários de 64 bits, mas a partir de 1,51 eles pareciam estar fora do ar ou fora dos negócios.
Então, voltamos a duas opções novamente: os binários teeks99 ou a criação de seus próprios.
A maioria das informações que eu precisava para criar minhas próprias estava aqui: https://stackoverflow.com/a/2655683/613288
A única coisa que faltava era como fazer isso funcionar com a versão gratuita do Visual Studio 2010 Express. Eu encontrei essa parte que estava faltando em outro lugar e, após alguma personalização, a receita final que usei para minha compilação dos binários do boost 1.49.0 foi:
Inicie o Visual C ++ e, no menu Ferramentas, inicie o Prompt de Comando do Visual Studio.
Na janela do console, faça o seguinte:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /Release /x64
e depois no diretório 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
O último comando é personalizado para o que eu precisava (apenas algumas bibliotecas vinculadas estaticamente).
Fiz para mim um pequeno script que os compila para o VS2005 e o 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\