针对64位窗口的64位Boost版本
这样简短的回答:
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
- 移动台\ lib中的内容,以LIB \ WIN32
- 除去目录bin.v2和舞台
-
构建64二进制
bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
创建lib目录\ x64
- 将stage \ lib的内容移动到lib \ x64
- 删除目录bin.v2和阶段
我做了我一个小脚本编译他们都为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\
此时,由teeks99(见其他答案)提供的64位二进制文件似乎是唯一的免费64围绕二进制文件。一段时间以来,BoostPro还提供了64位的二进制文件,但是在1.51版本中,它们似乎已经不在使用或者处于商业状态。
所以,我们又回到了两个选项:teeks99二进制文件,或者构建您自己的。
多数时候我需要建立自己的信息在这里: https://*.com/a/2655683/613288
唯一缺少的是如何得到这个与Visual Studio 2010速成的免费版本。我发现在其他地方缺少部分,经过一些定制后,我用于构建boost 1.49.0二进制文件的最终配方为:
启动Visual C++,然后从Tools菜单启动Visual Studio命令提示符。
在控制台窗口中,执行以下操作:
"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd" /Release /x64
,然后在升压目录:
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
last命令定制什么,我正好需要(只是一些静态链接库)。
我下载了他们的x64 1_51安装程序,但是,它包含系统库损坏的存档,并且似乎有一些其他库存在x86(我收到链接程序警告)。切换到teeks99的库后,一切都变好了。 – Alex 2012-09-24 14:22:48
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
文件并运行它为构建提升二进制文件。
您也可以指定stage目录,这样就不需要复制结果库: bjam --toolset = msvc-9.0 address-model = 64 --build-type = complete --stagedir = lib \ x64 stage – hkaiser 2010-02-24 14:05:32
@hkaiser当我试图将这些库结束于'lib \ x64 \ lib'时。 – 2010-06-29 17:19:01
什么是_stage_? – 2010-08-19 23:02:34