安装boost_1_66_0提示找不到vswhere,已装VS2019加环境变量未解决
问题根因
Boost 1.66.0发布时间早于Visual Studio 2019,内置的vswhere查找逻辑不兼容VS2019的路径规则,即使你已经把vswhere所在路径加入系统Path,旧版本的bootstrap脚本也无法正常调用。
解决步骤
- 先验证vswhere可用性:按下Win+R输入
cmd打开命令提示符,执行vswhere命令,若正常输出版本信息则说明Path配置生效,若提示找不到命令请重启电脑后重试,或检查路径配置是否正确。 - 方案1:手动指定MSVC工具集(最简便)
直接在boost解压根目录的地址栏输入cmd打开当前路径的命令行,执行带参数的bootstrap命令:
VS2019对应的MSVC工具集版本为vc142,该参数会跳过vswhere查找逻辑,直接指定使用VS2019的编译器。bootstrap.bat vc142 - 方案2:使用VS自带的命令行工具运行脚本
从开始菜单找到并打开「x86 Native Tools Command Prompt for VS 2019」(如果需要编译64位版本则打开对应x64的命令行入口),cd到boost解压根目录后直接运行bootstrap.bat即可。该命令行工具已经预加载了所有VS编译相关的环境变量,boost可直接识别到可用的MSVC工具链,无需调用vswhere。 - 方案3:硬编码vswhere路径(前两个方案失效时使用)
用文本编辑器打开bootstrap.bat,找到所有调用vswhere的代码行,将vswhere替换为vswhere的绝对路径:
保存后重新运行bootstrap.bat即可。"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
后续编译注意事项
如果后续执行b2编译时仍提示找不到编译器,可手动指定工具集和架构参数:
b2 toolset=msvc-14.2 address-model=64
其中address-model=64对应编译64位库,需要32位库可改为address-model=32。
内容的提问来源于stack exchange,提问作者hobbydev
相关产品推荐
相关产品推荐

