Art*_* K. 40 boost visual-studio visual-c++
我试图使用最新的msvc 14.1和VS2017 RC来构建boost 1.63.所以我做了我正常做的一切,我打开了开发Cmd,然后运行了bootstrap.bat并运行命令
b2 -link=static -threading=multi
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我得到了这些错误:
E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools\msvc.jam:834: in generate-setup-cmd
*** argument error
* rule maybe-rewrite-setup ( toolset : setup-script : setup-options : version : rewrite-setup ? )
* called with: ( msvc : : : default : )
* missing argument setup-script
E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools\msvc.jam:746:see definition of rule 'maybe-rewrite-setup' being called
E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools\msvc.jam:1076: in configure-really
E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools\msvc.jam:201: in configure
E:/Coding/SDKs/boost_1_63_0/tools/build/src/tools\msvc.jam:153: in msvc.init
E:/Coding/SDKs/boost_1_63_0/tools/build/src/build\toolset.jam:43: in toolset.using
E:/Coding/SDKs/boost_1_63_0/tools/build/src/build\project.jam:1052: in using
project-config.jam:3: in modules.load
E:/Coding/SDKs/boost_1_63_0/tools/build/src\build-system.jam:249: in load-config
E:/Coding/SDKs/boost_1_63_0/tools/build/src\build-system.jam:412: in load-configuration-files
E:/Coding/SDKs/boost_1_63_0/tools/build/src\build-system.jam:524: in load
E:\Coding\SDKs\boost_1_63_0\tools\build\src/kernel\modules.jam:295: in import
E:\Coding\SDKs\boost_1_63_0\tools\build\src/kernel/bootstrap.jam:139: in boost-build
E:\Coding\SDKs\boost_1_63_0\boost-build.jam:17: in module scope
Run Code Online (Sandbox Code Playgroud)
我并不熟悉助力,所以也许你们中的一个人可以给我一个提示
Nic*_*ick 73
基于KindDragons和CPlusPlus OOA和D答案,我编译了Boost 1.63.对于64位.运行"VS 2017的x64 Native Tools命令提示符"命令提示符:
1)运行: bootstrap.bat
2)打开project-config.jam
.这是我的:
import option ;
using msvc : 14.0 : "c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64\cl.exe";
option.set keep-going : false ;
Run Code Online (Sandbox Code Playgroud)
部分:14.10.25017随着Windows SDK的更新而不断变化.所以相应地更新它.
3)跑 b2 toolset=msvc-14.0 address-model=64
Kin*_*gon 35
Boost 1.63并不完全支持VS2017,但你可以欺骗它找到VC++ 2017编译器:
bootstrap.bat
在boost目录中运行using msvc : 14.0 : <path to x86 or x64 cl.exe>
.应该是这样的"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.10.24911\bin\HostX64\x64\cl.exe"
b2 toolset=msvc-14.0
在该命令提示符下运行.对于x64构建,请添加address-model=64
到b2命令行.更新:Boost 1.64应支持VS2017
从开始菜单运行"VS 2017的x86 Native Tools命令提示符"或"VS 2017的x64 Native Tools命令提示符",而不是在命令提示符内运行b2
:
32位: b2 toolset=msvc-14.1 --build-dir=.x86 --stagedir=stage_x86
64位: b2 toolset=msvc-14.1 address-model=64 --build-dir=.x64 --stagedir=stage_x64
添加link=shared
以构建共享库
小智 10
我创建了一个批处理脚本,它在以下github仓库中构建了32位和64位二进制文件:https://github.com/manuelgustavo/boost_build
秘诀在于使用Visual Studio 2017的Developer Command Prompt.它根据需要设置所有环境变量.
然后从它,你可以执行以下的事情:
对于32位:
b2.exe --toolset = msvc-14.0 architecture = x86 address-model = 32 --stagedir =".\ stage32"threading = multi --build-type = complete stage
对于64位:
b2.exe --toolset = msvc-14.0 architecture = x86 address-model = 64 --stagedir =".\ stage64"threading = multi --build-type = complete stage
或者如果您愿意,只需访问https://github.com/manuelgustavo/boost_build并按照其中的步骤操作即可.
归档时间: |
|
查看次数: |
35625 次 |
最近记录: |