2010-02-23 108 views

回答

222

这样简短的回答:

bjam --toolset=msvc-9.0 address-model=64 --build-type=complete 

由于较长的答案,这里是我的构建说明在同一层次结构有VS .NET 2008的32位和64位的Boost库(这是我怀疑一个常见的情况):

  1. 构建的win32二进制文件

    bjam --toolset=msvc-9.0 --build-type=complete stage 
    
  2. 创建lib目录\ WIN32

  3. 移动台\ lib中的内容,以LIB \ WIN32
  4. 除去目录bin.v2和舞台
  5. 构建64二进制

    bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage 
    
  6. 创建lib目录\ x64

  7. 将stage \ lib的内容移动到lib \ x64
  8. 删除目录bin.v2和阶段
+25

您也可以指定stage目录,这样就不需要复制结果库: bjam --toolset = msvc-9.0 address-model = 64 --build-type = complete --stagedir = lib \ x64 stage – hkaiser 2010-02-24 14:05:32

+1

@hkaiser当我试图将这些库结束于'lib \ x64 \ lib'时。 – 2010-06-29 17:19:01

+8

什么是_stage_? – 2010-08-19 23:02:34

59

我有我的网站上生成的二进制文件: http://boost.teeks99.com

编辑2013年5月13日:我的版本是现在可(从1.53开始)直接从sourceforge page

+5

很好,您提供了这个,因为BoostPRo(为Boost库提供二进制文件) x64版本。谢谢! – CharlesB 2010-09-16 12:04:46

+0

你可以发布VS2015(VC++ 14)二进制文件吗?这将不胜感激。 – 2015-07-22 21:02:26

+1

msvc-14.0二进制文件将在1.59版中发布,并在几周内发布。 – teeks99 2015-07-23 22:25:30

4

我做了我一个小脚本编译他们都为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\ 
12

此时,由teeks99(见其他答案)提供的64位二进制文​​件似乎是唯一的免费64围绕二进制文件。一段时间以来,BoostPro还提供了64位的二进制文件,但是在1.51版本中,它们似乎已经不在使用或者处于商业状态。

所以,我们又回到了两个选项:teeks99二进制文件,或者构建您自己的。

多数时候我需要建立自己的信息在这里: https://stackoverflow.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命令定制什么,我正好需要(只是一些静态链接库)。

+0

我下载了他们的x64 1_51安装程序,但是,它包含系统库损坏的存档,并且似乎有一些其他库存在x86(我收到链接程序警告)。切换到teeks99的库后,一切都变好了。 – Alex 2012-09-24 14:22:48

15

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文件并运行它为构建提升二进制文件。