Windows部署AirSim避坑指南:从环境搭建到首次运行
1. 环境准备避开那些官方文档没说的坑第一次在Windows上部署AirSim时我按照官方文档操作却连续卡了三天。后来发现官方教程往往假设你的系统是纯净状态而现实中我们总会遇到各种环境冲突。先说几个关键点Visual Studio版本官方推荐2022但实测2019也能用。关键是要在安装时勾选使用C的桌面开发和Windows 10 SDK 8.1注意不是越新越好。我遇到过SDK版本过高导致CMake报错的情况错误提示是Could not find Windows SDK version 8.1这时候需要到Visual Studio Installer里单独安装旧版SDK。磁盘空间建议预留至少50GB。有次我在C盘空间只剩20GB时编译中途报错fatal error C1002: compiler is out of heap space清理磁盘后才解决。最好把工程放在固态硬盘上机械硬盘的编译时间可能多出3倍。系统账户名如果你的Windows用户名包含中文或特殊字符可能遇到路径解析问题。比如我的同事张三的电脑上CMake总是报invalid character in path后来新建英文账户才解决。2. 依赖安装这些组件缺一不可2.1 虚幻引擎的隐藏关卡官方说下载Epic Games Launcher就能安装UE4但有几个细节要注意启动器里默认显示最新版UE5但AirSim目前对UE4.27兼容性最好。需要在Library标签页手动点击号选择4.27版本安装。安装完成后务必重启电脑否则可能出现UE4Editor.modules could not be found错误。如果之前安装过其他版本到编辑→编辑器偏好设置→常规→源代码里确认当前使用的UE版本。2.2 CMake的版本陷阱最新版CMake不一定最好用。当出现Could not create named generator Visual Studio 16 2019错误时可以尝试以下组合CMake版本Visual Studio版本兼容性3.22VS2022★★★★☆3.18-3.21VS2019★★★★★3.15-3.17VS2017★★★☆☆我推荐使用3.21.1版本下载后记得将cmake.exe路径通常是C:\Program Files\CMake\bin添加到系统PATH变量。验证方法是在PowerShell运行cmake --version3. 构建过程当build.cmd报错时怎么办3.1 高频错误排查手册这是我在不同机器上遇到的真实案例案例一error C1189: #error: corecrt.h: No such file or directory原因Windows SDK路径未正确识别解决方案# 在PowerShell中设置环境变量 $env:WindowsSdkDir C:\Program Files (x86)\Windows Kits\10 $env:WindowsSDKVersion 10.0.19041.0\案例二LINK : fatal error LNK1181: cannot open input file ws2_32.lib原因VC目录配置错误解决方案在VS开发者命令提示符中运行vcvarsall.bat x64案例三构建成功但Unreal中看不到AirSim插件检查Unreal\Plugins\AirSim是否包含这些关键文件AirSim.upluginBinaries\Win64\AirSim.dllContent\Scripts\hello_drone.py3.2 加速编译的技巧在16核机器上完整构建需要约30分钟这几个参数可以节省时间build.cmd --build-unreal --no-full-poly-car # 跳过高清车辆模型 build.cmd --jobs8 # 并行编译任务数 set CL/MP # 启用多处理器编译4. 首次运行从Blocks到自定义场景4.1 基础验证流程打开Unreal\Environments\Blocks\Blocks.sln在VS顶部菜单选择DebugGame Editor和Win64点击运行按钮等待Unreal编辑器启动在编辑器里点击播放按钮应该能看到这样的控制台输出LogAirSim: AirSim: Connected LogAirSim: Vehicle: Using SimpleFlight as default flight controller4.2 自定义环境集成把AirSim插件移植到自己的Unreal项目时最容易漏掉这个步骤右键项目.uproject文件 → 生成Visual Studio项目文件编辑项目目录下的Config\DefaultEngine.ini添加[AirSim] SimModeCar # 或Multirotor ViewModeFlyWithMe检查Plugins文件夹权限有时需要手动赋予完全控制权限4.3 性能优化参数在Documents\AirSim\settings.json中添加这些配置可以提升帧率{ ViewMode: NoDisplay, CaptureSettings: { TargetGamma: 1.5, UseDirectX11: true }, Recording: { RecordOnMove: false, RecordInterval: 0 } }记得第一次运行时要关闭杀毒软件实时防护我测试时发现Windows Defender会使帧率下降40%。如果要用Python API建议创建conda环境conda create -n airsim python3.8 conda install -c anaconda numpy msgpack-rpc-python pip install airsim