C++ 如何在Windows上构建x64 Boost库?
我已经构建了很多次x86boost库,但似乎无法构建x64库。我启动“Visual Studio 2005 x64跨工具命令提示符”并运行我的常规生成: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参数 查看例如…您可能会发现以下内容: 公认的答案是正确的。如果有人用谷歌搜索这
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