Visual Studio编译AirSim时CMake报错找不到Boost(缺失boost_INCLUDE_DIR)
问题根因
报错本质是CMake无法定位Boost库的头文件与filesystem组件,AirSim默认的build.cmd脚本会自动下载依赖的Boost库,大多数情况下该报错是由脚本自动下载Boost失败、解压文件损坏、或Boost路径未被CMake正确识别导致的。
解决步骤
- 清理残留缓存
先删除AirSim根目录下的build文件夹,再删除external目录下的boost文件夹(如果存在),避免之前的损坏文件干扰后续流程。 - 手动配置Boost(比脚本自动下载可靠性更高)
- 下载AirSim要求的1.74.0版本Boost预编译包,适配你当前使用的VS2019选择MSVC14.2对应的版本即可
- 把Boost解压到无中文、无空格、无特殊字符的路径下,例如
C:\dev\boost_1_74_0,禁止放在Program Files这类带空格的系统目录下 - 新增三个系统环境变量:
BOOST_ROOT:值为你刚才的Boost解压全路径,比如C:\dev\boost_1_74_0BOOST_INCLUDEDIR:值为%BOOST_ROOT%BOOST_LIBRARYDIR:值为%BOOST_ROOT%\lib64-msvc-14.2(32位系统替换为%BOOST_ROOT%\lib32-msvc-14.2)
- 完全关闭所有终端窗口后重新打开,确保环境变量生效
- 重新执行构建
打开AirSim根目录,启动系统自带的CMD或PowerShell,执行build.cmd即可,不要使用VS内置终端执行构建命令。 - 极端情况兜底方案
如果依旧报错,可以打开build.cmd脚本,注释掉自动下载、检测Boost的相关逻辑,强制脚本读取本地配置的Boost路径。同时确认你的VS2019已经完整安装了C++桌面开发组件,包含MSVC编译工具链与CMake组件。
提前验证方式
构建前可以在终端执行echo %BOOST_ROOT%,确认输出的路径和你实际的Boost解压路径完全一致,且路径没有中文、空格或特殊字符。
内容的提问来源于stack exchange,提问作者Steagle
相关产品推荐
相关产品推荐

