Answers:
简而言之:
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete
作为更长的答案,这是我的VS.NET 2008 32位和64位Boost库在同一层次结构中的构建说明(我怀疑这是一个常见的用例):
生成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:现在可以直接从sourceforge页面获得我的构建(从1.53开始)。
UPDATE(19.09.2017):为VS2017添加了脚本行。请注意,Boost支持上述特定版本的VS2017编译器。我使用了最新版本(1.65.1)。
我使用以下脚本为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
文件并运行它来构建您的增强二进制文件。
目前,teeks99提供的64位二进制文件(请参阅其他答案)似乎是周围唯一的免费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\