news 2026/4/16 15:07:22

避开多版本VS和UE4的坑:保姆级Windows 10下AirSim 1.3.1编译配置指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
避开多版本VS和UE4的坑:保姆级Windows 10下AirSim 1.3.1编译配置指南

避开多版本VS和UE4的坑:保姆级Windows 10下AirSim 1.3.1编译配置指南

在Windows环境下配置AirSim开发环境,尤其是当系统中同时存在多个版本的Visual Studio和虚幻引擎时,往往会遇到各种棘手的编译问题。本文将从一个"环境冲突排查专家"的角度,详细拆解如何通过手动指定路径和参数,强制系统使用正确的工具链,将编译过程从"玄学"变为确定性的步骤。

1. 环境准备与版本要求

在开始之前,我们需要明确AirSim 1.3.1的硬性版本要求:

  • Visual Studio 2019:这是必须的,VS2017或更早版本会导致编译失败
  • Windows 10 SDK 10.0.18362或更高版本
  • 虚幻引擎4.24:这是最低要求,低于此版本的UE4无法正常工作

注意:即使你的系统中有更高版本的VS或UE4,也必须确保上述特定版本已安装且可访问。

检查你的环境是否符合要求:

# 检查VS2019安装情况 & "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -version "[16.0,17.0)" -property installationPath # 检查Windows SDK版本 Get-ChildItem "HKLM:\SOFTWARE\Microsoft\Windows Kits\Installed Roots" | Select-Object Name

2. 多版本环境管理策略

当系统中存在多个VS和UE4版本时,关键在于如何精确控制编译时使用的工具链。以下是关键的管理策略:

2.1 环境变量优先级设置

Windows系统会按照特定顺序查找可执行文件,我们可以通过修改PATH环境变量来控制优先级:

  1. 打开系统属性 → 高级 → 环境变量
  2. 在系统变量中找到PATH,确保以下路径按此顺序排列:
    • VS2019的工具路径(如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
    • UE4.24的引擎路径(如F:\Program Files\Epic Games\UE_4.24\Engine\Binaries\Win64
  3. 将其他版本的路径暂时移除或放在后面

2.2 使用显式路径调用工具

不要依赖系统默认路径,而是直接指定完整路径调用工具:

:: 错误做法 - 依赖系统默认选择 UnrealBuildTool.exe -projectfiles ... :: 正确做法 - 显式指定路径 "F:\Program Files\Epic Games\UE_4.24\Engine\Binaries\DotNET\UnrealBuildTool.exe" -projectfiles ...

3. 解决编译过程中的典型问题

3.1 构建脚本下载缓慢问题

原始build.cmd会从GitHub直接下载依赖库,国内访问速度往往很慢。解决方案是替换下载源:

原始build.cmd中的下载链接:

set RPCLIB_URL=https://github.com/rpclib/rpclib/archive/v2.2.1.zip set CAR_ASSETS_URL=https://github.com/Microsoft/AirSim/releases/download/v1.2.0/car_assets.zip

可以替换为国内镜像源(注意时效性):

set RPCLIB_URL=https://mirror.example.com/rpclib-v2.2.1.zip set CAR_ASSETS_URL=https://mirror.example.com/car_assets.zip

3.2 强制使用指定版本编译

当系统中存在多个UE4版本时,必须强制使用4.24版本进行编译。关键参数如下:

"F:\Program Files\Epic Games\UE_4.24\Engine\Binaries\DotNET\UnrealBuildTool.exe" ^ -projectfiles ^ -project="E:\AirSim\Unreal\Environments\Blocks\Blocks.uproject" ^ -game ^ -rocket ^ -progress ^ -log="E:\AirSim\Unreal\Environments\Blocks\Saved\Logs\Build.log" ^ -2019

关键点解析

  • -projectfiles:生成VS工程文件
  • -2019:强制生成VS2019格式的项目
  • 确保UnrealBuildTool.exe路径指向UE4.24的安装位置

4. 验证配置是否正确

完成上述配置后,可以通过以下方式验证环境是否正确设置:

  1. 检查生成的解决方案文件

    • 用文本编辑器打开生成的.sln文件
    • 确认开头有类似Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16的内容(16表示VS2019)
  2. 检查编译日志

    • 查看Build.log文件
    • 确认使用了正确的工具链版本,如:
      Using Visual Studio 2019 16.11.31727.386 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133)
  3. 运行时验证

    • 成功编译后,启动UE4编辑器
    • 在输出日志中应能看到AirSim插件正确加载的信息

5. 高级技巧与故障排除

5.1 并行安装多个版本时的处理

如果你需要同时维护多个版本的AirSim开发环境,可以考虑以下策略:

  1. 使用符号链接

    # 为当前项目创建专用的UE4链接 New-Item -ItemType SymbolicLink -Path ".\UE4" -Target "F:\Program Files\Epic Games\UE_4.24"
  2. 批处理脚本自动化: 创建setup_env.bat脚本,自动设置正确的环境变量:

    @echo off set UE4_ROOT=F:\Program Files\Epic Games\UE_4.24 set VS2019_ROOT=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community set PATH=%VS2019_ROOT%\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64;%UE4_ROOT%\Engine\Binaries\Win64;%PATH%

5.2 常见错误及解决方案

错误现象可能原因解决方案
MSB8020错误使用了错误的工具集在VS中右键项目 → 属性 → 常规 → 平台工具集,选择"Visual Studio 2019"
找不到Windows SDKSDK版本不匹配安装10.0.18362版本SDK,并在VS安装器中确认已勾选
UnrealBuildTool崩溃调用了错误版本的UBT确保使用UE4.24目录下的UnrealBuildTool.exe
插件加载失败引擎版本不匹配检查AirSim插件目录中的.uplugin文件,确认"EngineVersion"为"4.24"

6. 最佳实践与经验分享

在实际项目中,我总结出以下几点经验:

  1. 隔离开发环境:为每个项目创建独立的批处理脚本设置环境变量,避免全局修改。

  2. 版本控制注意事项

    • 不要将生成的中间文件(如.sln、.vcxproj)提交到版本控制
    • 在.gitignore中添加:
      Unreal/Environments/**/Binaries/ Unreal/Environments/**/Intermediate/ *.sln *.vcxproj
  3. 性能优化

    • 将项目放在SSD上可以显著加快编译速度
    • 在VS中启用并行编译:项目属性 → C/C++ → 常规 → 多处理器编译
  4. 调试技巧

    • 在AirSim插件的Build.cs中添加bOverrideBuildEnvironment = true可以强制使用特定工具链
    • 使用-Verbose参数运行UnrealBuildTool可以获得更详细的日志信息

经过这些配置后,你会发现AirSim的编译过程变得可预测和可重复。记住,关键是要精确控制每个环节使用的工具版本,而不是依赖系统的默认选择。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 15:07:17

[开源上新] 基于Share Memory的IPC : https://github.com/missionlove/SMIPC

SMIPC A light IPC DLL based on share memory. github地址: https://github.com/missionlove/SMIPC SMIPC 是一个基于 Windows 共享内存(Shared Memory)的轻量级 IPC 库,面向低延迟、高吞吐的本机进程通信场景。 项目核心逻辑…

作者头像 李华
网站建设 2026/4/16 15:05:19

如何快速掌握MDAnalysis:分子动力学分析的终极Python工具指南

如何快速掌握MDAnalysis:分子动力学分析的终极Python工具指南 【免费下载链接】mdanalysis MDAnalysis is a Python library to analyze molecular dynamics simulations. 项目地址: https://gitcode.com/gh_mirrors/md/mdanalysis MDAnalysis是一款强大的Py…

作者头像 李华
网站建设 2026/4/16 15:05:19

软件系统第三方测评,为什么越来越重要

简单来讲,软件系统第三方测评,讲的就是找一家独立的专业机构,去给软件开发而出的质量做把关。当下,各行各业都在推进数字化转型,银行、政府、医疗、制造等领域的核心业务愈发依赖软件系统运转。软件开发团队自行测试自…

作者头像 李华