C++ 如何在Windows上构建x64 Boost库?

C++ 如何在Windows上构建x64 Boost库?,c++,visual-studio-2005,boost,64-bit,boost-build,C++,Visual Studio 2005,Boost,64 Bit,Boost Build,我已经构建了很多次x86boost库,但似乎无法构建x64库。我启动“Visual Studio 2005 x64跨工具命令提示符”并运行我的常规生成: bjam --toolset=msvc --build-type=complete --build-dir=c:\build install 但它仍然生成x86.lib文件(我用dumpbin/headers验证了这一点)。 我做错了什么?您需要添加地址模型=64参数 查看例如…您可能会发现以下内容: 公认的答案是正确的。如果有人用谷歌搜索这

我已经构建了很多次x86boost库,但似乎无法构建x64库。我启动“Visual Studio 2005 x64跨工具命令提示符”并运行我的常规生成:

bjam --toolset=msvc --build-type=complete --build-dir=c:\build install
但它仍然生成x86.lib文件(我用dumpbin/headers验证了这一点)。
我做错了什么?

您需要添加
地址模型=64
参数

查看例如…

您可能会发现以下内容:


公认的答案是正确的。如果有人用谷歌搜索这个答案,但仍然无法生成x64版本,那么就添加这个选项

以下是我在Visual Studio 15 2017社区版上构建Boost 1.63所做的工作

从VS环境命令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是否为带有dumpbin的x64:

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) 
...

对于b2,命令是:

b2 --build-dir=build/x64 address-model=64 threading=multi --build-type=complete --stagedir=./stage/x64
它将在开始时显示默认地址模型:32位,但仍将以64位构建(太令人困惑了)。您应该使用诸如
library-vc140-mt-x64-1_71.dll之类的名称创建dll,以确认它是64位的


来源:

这个答案对于更新的boost构建工具,
b2
也是有效的。你能解释一下吗?C:\Boost\Boost\u 1\u 61\u 0>\b2--stagedir=lib\x64 architecture=x86 address model=64 link=static--build type=complete stage执行配置检查-32位:是的,
address model
似乎没有显示在
b2--help
(b2 4.3)的输出中,我如何从命令行获得帮助?
b2 --build-dir=build/x64 address-model=64 threading=multi --build-type=complete --stagedir=./stage/x64