64-bit version of Boost for 64-bit windows

是否有适用于 VS2008的64位 Boost 库版本? 或者我必须自己编写一个? 如果是这样,有人有这方面的经验吗?

93888 次浏览

简而言之:

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

作为一个较长的答案,这里是我的构建说明,有 VS。NET 200832位和64位升级库在同一层次结构中(我怀疑这是一个常见的用例) :

  1. 构建 win32二进制文件

    bjam --toolset=msvc-9.0 --build-type=complete stage
    
  2. Create the directory lib\win32

  3. Move the contents of stage\lib to lib\win32
  4. Remove the directories bin.v2 and stage
  5. Build the x64 binaries

    bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
    
  6. Create the directory lib\x64

  7. Move the contents of stage\lib to lib\x64
  8. Remove the directories bin.v2 and stage

我已经在我的网站上建立了二进制文件: Http://boost.teeks99.com

Edit 2013-05-13: My builds are now available (starting from 1.53) directly from the 来源锻造页.

我做了一个小脚本,把它们编译成 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\

目前,eeks99提供的64位二进制文件(见其他答案)似乎是周围唯一免费的64位二进制文件。有一段时间,BoostPro 还提供了64位二进制文件,但是到1.51时,它们似乎已经过时了。

So, there we're back to two options again: the teeks99 binaries, or building your own.

我需要的大部分信息都在这里: Https://stackoverflow.com/a/2655683/613288

唯一缺少的是如何让它与免费版的 VisualStudio2010Express 一起工作。我在其他地方找到了缺失的部分,经过一些定制之后,我用来构建升级1.49.0二进制文件的最终配方是:

启动 VisualC + + ,并从“工具”菜单启动 VisualStudio 命令提示符。

在控制台窗口中,执行以下操作:

"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd"  /Release  /x64

and then in the boost directory:

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

最后一个命令是根据我的需要定制的(只是一些静态链接库)。

UPDATE(19.09.2017): added script lines for VS2017. Please be aware that Boost supports VS2017 compiler from a certain version above. I used the latest version (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文件并运行它来构建您的升级二进制文件。