在环境变量中Path 那一项中添加两个路径:E:\VS2017\VC\Tools\MSVC\14.10.25017\bin\HostX86\x86
E:\VS2017\Common7\IDE
在环境变量中新建一个LIB 变量,并添加三个路径(记得加分号):
E:\VS2017\VC\Tools\MSVC\14.10.25017\lib\x86; C:\Program Files (x86)\Windows Kits\10\Lib\10.0.14393.0\ucrt\x86; C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86;
在环境变量中新建一个INCLUDE 变量,并添加两个路径(记得加分号):
E:\VS2017\VC\Tools\MSVC\14.10.25017\include; C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\ucrt;
实际路径根据自己的安装路径有所不同。
VS2019设置cl.exe环境变量
1、找到cl.exe的所在路径,一般在:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\Hostx86\x86
2、在环境变量PATH中添加C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\bin\Hostx86\x86
添加链接描述
要编译的 Boost 版本:1.54.0。
假设 Boost 根目录为 ${boost_root} 。
首先打开 Windows PowerShell,执行如下命令:
cd ${boost_root}
.\bootstrap.bat
如果之前没有设置 cl 命令的环境变量,这里将会报如下错误:
‘cl’ 不是内部或外部命令,也不是可运行的程序。
解决这个问题的方法是将 cl 命令的位置添加到系统的环境变量中,这里假设 VS 被安装到了 C 盘中,则需要将以下内容添加到 Path 环境变量中:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64
环境变量修改之后必须重启才能生效。
添加完以上环境变量之后,再次运行 .\bootstrap.bat ,如果出现以下错误:
fatal error C1034: ctype.h: 不包括路径集。
则说明是 Windows 环境变量没有配置或没配置好。此时我们需要在系统的环境变量里面新建两个环境变量,它们的变量名和变量值分别为:
变量名:INCLUDE
变量值:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\winrt
变量名:LIB
变量值:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\lib\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.18362.0\um\x64
添加完之后,重启,使环境变量生效。
然后再次运行 .\bootstrap.bat ,正常情况下应该输出以下信息:
然后接下来要运行 .\b2 命令来进行编译,编译命令如下:
.\b2 install --prefix=D:\CCLib\Libs\boost_1_54_0\boost_1_54_0\install_dir --build-type=complete --toolset=msvc-14.2 threading=multi address-model=64
关于上述命令中各参数的详细解释,参见 https://blog.csdn.net/s_lisheng/article/details/72871218 。
但是执行上述命令之后可能会报如下错误:
error: msvc initialization: parameter ‘version’ inconsistent
error: no value was specified in earlier initialization
error: an explicit value is specified now
解决方法是修改 ${boost_root} 目录下的 project-config.jam 文件,如果用的是 VS2019,则可以将里面的内容修改成:
import option ;
using msvc : 14.2 : “C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\Hostx64\x64\cl.exe” ;
option.set keep-going : false ;
然后再次运行 .\b2 命令,如果没有什么什么问题应该就可以正常编译了。
编译之后,会生成一个 include 文件夹和一个 lib 文件夹。
至此,编译过程结束。