AirSim 1.8.1 Windows 编译排错:CMake 版本不匹配等 3 类常见错误定位与修复
2026/7/13 8:39:03 网站建设 项目流程

AirSim 1.8.1 Windows编译全攻略:从环境配置到典型错误修复

1. 环境准备与基础配置

在Windows平台编译AirSim 1.8.1版本前,需要确保开发环境满足以下基础要求。根据我们实际测试,以下配置组合具有最佳兼容性:

硬件最低配置要求

  • 处理器:Intel i5-8300H或同等性能AMD处理器
  • 内存:16GB DDR4(Blocks环境最低8GB)
  • 显卡:NVIDIA GTX 1060 6GB/AMD RX 580 8GB
  • 存储空间:至少50GB可用空间(建议SSD)

软件环境矩阵对比

组件推荐版本最低要求备注
Windows OS10 21H210 1809需启用开发者模式
Visual Studio2022 17.42019 16.11必须包含C++桌面开发组件
Windows SDK10.0.1904110.0.18362
Unreal Engine4.27.24.26Epic账户需关联GitHub
CMake3.24.13.12需加入系统PATH
Git2.38.12.20

重要提示:避免使用中文用户名路径,可能导致编译时文件访问异常。建议在非系统盘(如D:\Dev)创建工程目录。

安装Visual Studio时需特别注意:

  1. 在"工作负载"选项卡勾选【使用C++的桌面开发】
  2. 在"单个组件"中额外添加:
    • Windows 10 SDK (10.0.19041)
    • C++ CMake工具
    • .NET Framework 4.8 SDK

验证基础环境是否就绪:

# 检查CMake版本 cmake --version # 验证Visual Studio工具链 cl /? # 确认Git安装 git --version

2. 源码获取与工程初始化

推荐使用SSH方式克隆仓库以获得更好的稳定性:

git clone git@github.com:Microsoft/AirSim.git cd AirSim git checkout v1.8.1 # 切换至特定版本

工程目录结构解析:

AirSim/ ├── AirLib/ # 核心算法库 ├── Unreal/ # UE插件实现 │ └── Plugins/ │ └── AirSim/ # 编译目标位置 ├── cmake/ # 构建配置 └── build.cmd # 主构建脚本

首次编译前建议执行环境清理:

# 清除可能存在的临时文件 Remove-Item -Recurse -Force build, cmake_build # 重置子模块 git submodule update --init --recursive

3. 典型编译错误诊断与修复

3.1 CMake生成器不匹配问题

错误现象

CMake Error: Could not create named generator Visual Studio 16 2019

根因分析

  • VS2022默认使用"Visual Studio 17 2022"生成器
  • 旧版build.cmd可能未适配新生成器格式
  • 系统存在多个VS版本导致检测冲突

解决方案

  1. 显式指定生成器(临时方案):
cmake -G "Visual Studio 17 2022" -A x64 ..
  1. 修改build.cmd(永久方案):
# 在build.cmd中找到CMake调用部分 - cmake ../AirLib -DCMAKE_BUILD_TYPE=Release + cmake -G "Visual Studio 17 2022" -A x64 ../AirLib -DCMAKE_BUILD_TYPE=Release
  1. 环境变量覆盖(推荐):
$env:CMAKE_GENERATOR = "Visual Studio 17 2022" $env:CMAKE_GENERATOR_PLATFORM = "x64"

3.2 Windows SDK缺失问题

错误表现

fatal error C1083: Cannot open include file: 'corecrt.h'

诊断步骤

  1. 检查已安装SDK版本:
Get-ChildItem "C:\Program Files (x86)\Windows Kits\10\Include"
  1. 验证VS组件配置:
& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" -products * -requires Microsoft.VisualStudio.Component.Windows10SDK.19041 -property installationPath

修复方案

  1. 通过Visual Studio Installer添加组件:

    • 打开"修改" → "单个组件"
    • 搜索并勾选"Windows 10 SDK (10.0.19041)"
  2. 手动注册SDK(当安装异常时):

reg add "HKLM\SOFTWARE\Microsoft\Windows Kits\Installed Roots" /v "KitsRoot10" /t REG_SZ /d "C:\Program Files (x86)\Windows Kits\10\" /f

3.3 虚幻引擎关联异常

典型错误

ERROR: Unreal Engine installation not found at C:\Program Files\Epic Games\UE_4.27

排查流程

  1. 确认UE安装路径:

    • 打开Epic启动器 → 库 → 引擎版本右侧下拉菜单 → 显示安装文件夹
  2. 检查注册表项:

Get-ItemProperty -Path "HKLM:\SOFTWARE\EpicGames\Unreal Engine\*"

修复方法

  1. 设置用户级环境变量:
[System.Environment]::SetEnvironmentVariable('UE4_ROOT', 'D:\Epic Games\UE_4.27', 'User')
  1. 硬编码路径(临时方案): 编辑Unreal\Plugins\AirSim\AirSim.Build.cs
// 添加如下代码 string uePath = @"D:\Epic Games\UE_4.27"; if(Directory.Exists(uePath)) { RuntimeDependencies.Add("$(PluginDir)/...", Path.Combine(uePath, "...")); }

4. 高级调试技巧

4.1 并行编译优化

修改build.cmd提升编译速度:

# 在MSBuild调用处添加并行参数 msbuild AirSim.sln /p:Configuration=Release /m:8 /nr:false

参数说明:

  • /m:8:使用8个逻辑核心
  • /nr:false:禁用节点重用

4.2 符号调试配置

创建自定义调试配置:

// .vscode/launch.json { "version": "0.2.0", "configurations": [ { "name": "Debug AirSim", "type": "cppvsdbg", "request": "launch", "program": "${workspaceFolder}/Unreal/Plugins/AirSim/Binaries/Win64/UnrealEditor.exe", "args": [ "${workspaceFolder}/Unreal/Environments/Blocks/Blocks.uproject" ], "environment": [ {"name": "PATH", "value": "${env:PATH};C:/Program Files/Epic Games/UE_4.27/Engine/Binaries/Win64"} ], "symbolSearchPath": "${workspaceFolder}/build_debug" } ] }

4.3 编译缓存利用

设置ccache加速重复编译:

  1. 安装ccache:
choco install ccache
  1. 修改CMake配置:
# 在AirLib/CMakeLists.txt开头添加 find_program(CCACHE_FOUND ccache) if(CCACHE_FOUND) set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE ccache) set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache) endif()

5. 验证与部署

成功编译后,按以下步骤验证:

  1. 生成插件包:
# 创建可分发的插件zip Compress-Archive -Path Unreal/Plugins/AirSim -DestinationPath AirSim_1.8.1_UE4.27.zip
  1. 在虚幻引擎中测试:

    • 新建空白项目(选择"游戏" → "空白"模板)
    • 将编译生成的AirSim插件复制到项目Plugins目录
    • 启用插件:编辑 → 插件 → 搜索"AirSim" → 勾选启用
  2. 基础功能测试:

# 使用Python API验证 import airsim client = airsim.MultirotorClient() client.confirmConnection() print(client.getServerVersion())

性能基准测试参考值(i7-11800H + RTX 3060):

场景帧率(FPS)内存占用GPU利用率
空白场景120+2.1GB15%
Blocks环境45-604.8GB75%
城市环境25-357.2GB98%

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询