2008-11-19 67 views
44

我已经多次构建了x86 Boost库,但似乎无法构建x64库。我启动“Visual Studio 2005的十字x64的工具命令提示符”,然后运行我平时的积累:如何在Windows上构建x64 Boost库?

bjam --toolset=msvc --build-type=complete --build-dir=c:\build install 

但它仍然产生86 .lib文件(我验证了这一点与DUMPBIN /头)。 我在做什么错?

回答

57

您需要添加address-model=64参数。

看起来例如, here

+2

这个答案也适用于较新的助推构建工具,`b2`。 – anderas 2016-05-25 08:55:31

2

接受的答案是正确的。如果有人使用此答案并且仍然无法生成x64版本,请添加此项。

以下是我在VS 15 2017 Community Edition上构建Boost 1.63所必须做的事情。

从VS环境cmd shell执行的命令。工具 - > Visual Studio命令提示符

C:\Work\Boost_1_63> C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat amd64 
C:\Work\Boost_1_63> bootstrap.bat C:\Work\Boost_1_63> bjam -j4 architecture=x86 address-model=64 link=static stage 
C:\Work\Boost_1_63> bjam --prefix=C:\opt\boost architecture=x86 address-model=64 link=static install 

您可以验证所产生的.lib支持x64与DUMPBIN:

C:\Work> dumpbin /headers C:\work\boost_1_63\stage\lib\libboost_locale-vc140-mt-1_63.lib | findstr machine 
8664 machine (x64) 
8664 machine (x64) 
8664 machine (x64) 
8664 machine (x64) ...