news 2026/6/11 9:56:52

Windows10 环境下 CARLA 0.9.13 源码编译与 Unreal Engine 4.26 联调实战

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows10 环境下 CARLA 0.9.13 源码编译与 Unreal Engine 4.26 联调实战

1. Windows10环境准备与工具安装

在开始CARLA 0.9.13源码编译之前,我们需要先准备好Windows10的开发环境。这个过程就像搭积木,缺一块都不行。我遇到过不少因为环境配置不当导致的编译失败,所以这部分会详细说明每个环节的注意事项。

首先确保你的系统满足以下硬件要求:

  • 磁盘空间:至少预留200GB(实测完整编译需要180GB+)
  • 内存:建议16GB以上(8GB勉强能跑但容易卡顿)
  • 显卡:支持DirectX 11的NVIDIA显卡(3060及以上更佳)

接下来是必备软件的安装清单,我推荐使用默认路径安装以避免路径问题:

1.1 基础工具链安装

  1. CMake 3.23+
    去官网下载Windows x64版本安装包,安装时务必勾选"Add CMake to system PATH"。安装完成后在CMD运行:

    cmake --version

    如果显示版本号说明安装成功。我遇到过因为PATH未生效导致的cmake命令找不到问题,这时候需要手动检查环境变量。

  2. Git 2.35+
    同样选择64位安装包,安装过程中注意:

    • 勾选"Use Git from the Windows Command Prompt"
    • 选择"Checkout as-is, commit Unix-style line endings" 安装后测试:
    git --version
  3. Make工具
    虽然Windows没有原生make,但可以通过GNU make for Windows实现。下载make-3.81.exe安装后,需要手动添加安装目录到PATH。我建议将make.exe复制到C:\Windows\System32下避免路径问题。

  4. 7-Zip
    用于后续解压资源包,安装后记得将安装目录下的7z.exe路径加入环境变量。

1.2 Python环境配置

CARLA对Python版本有特定要求:

  • Python 3.7-3.9(实测3.9.7最稳定)
  • 必须使用64位版本

安装时勾选"Add Python to PATH",安装完成后需要:

python -m pip install --upgrade pip pip install setuptools wheel

特别注意:如果你之前安装过Anaconda,可能会遇到Python环境冲突。我的解决方法是:

  1. 暂时移除Anaconda相关环境变量
  2. 确保命令行输入python调用的不是conda环境
  3. 记录被删除的路径以便后续恢复

2. Visual Studio与Unreal Engine配置

2.1 Visual Studio 2019专业版安装

CARLA编译需要VS2019的特定组件:

  1. 安装时选择"使用C++的桌面开发"工作负载
  2. 额外勾选:
    • .NET Framework 4.6.2开发工具
    • Windows 10 SDK (10.0.18362.0)
    • C++ CMake工具

安装完成后,建议运行Visual Studio Installer的"修复"功能确保组件完整。我遇到过因为SDK版本不对导致的编译错误,后来发现是漏装了Windows 10 SDK。

2.2 Unreal Engine 4.26定制版编译

这是整个过程中最耗时的环节,可能需要4-6小时:

  1. 获取源码
    在合适的位置(如E盘)执行:

    git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git

    如果遇到下载慢的问题,可以尝试修改hosts文件加速GitHub访问。

  2. 生成项目文件
    进入UnrealEngine目录运行:

    Setup.bat GenerateProjectFiles.bat
  3. 编译引擎
    用VS2019打开UE4.sln,在工具栏设置:

    • 配置:Development Editor
    • 平台:Win64
    • 启动项目:UnrealBuildTool

    右键解决方案资源管理器中的UE4项目选择"生成"。这个过程会占用大量内存,建议关闭其他程序。我第一次编译时因为内存不足失败了三次。

  4. 验证安装
    尝试运行Engine\Binaries\Win64\UE4Editor.exe,如果出现编辑器界面说明成功。如果遇到模块缺失错误,可以尝试重新生成项目。

3. CARLA源码编译实战

3.1 获取CARLA源码

在UnrealEngine同级目录执行:

git clone https://github.com/carla-simulator/carla cd carla git checkout 0.9.13

3.2 资源文件准备

CARLA需要额外的地图资源包(约15GB):

  1. 在carla/Util/ContentVersions.txt找到0.9.13对应的资源ID
  2. 手动下载对应的.tar.gz文件
  3. 创建目录Unreal/CarlaUE4/Content/Carla
  4. 将压缩包放入并执行:
    tar xf [资源包名称].tar.gz

避坑提示:我遇到过资源包解压失败的问题,发现是7z版本不兼容。解决方法是用WinRAR解压。

3.3 编译PythonAPI

使用x64 Native Tools Command Prompt执行:

make PythonAPI

这个阶段常见问题及解决方案:

问题现象解决方法
zlib下载失败手动下载zlib-1.2.11.zip放入build目录
boost编译卡住检查网络连接,可能需要设置终端代理
出现SSL错误更新pip和setuptools版本

编译完成后,安装生成的Python包:

pip install PythonAPI/carla/dist/carla-0.9.13-py3.9-win-amd64.whl

4. Unreal Engine联调与测试

4.1 启动CARLA服务器

在CARLA根目录执行:

make launch

首次启动会初始化着色器等资源,可能需要30分钟以上。如果卡在某个进度,可以尝试:

  1. 关闭杀毒软件实时防护
  2. 确保显卡驱动为最新版
  3. 在编辑器设置中关闭"Use less CPU when in background"

4.2 运行示例脚本

新建终端运行交通生成脚本:

cd PythonAPI/examples pip install -r requirements.txt python generate_traffic.py

如果遇到town10hd_opt.bin相关错误,可以删除以下文件后重试:

  • CarlaUE4/Content/Carla/Maps/Nav/town10hd_opt.bin
  • CarlaUE4/Content/Carla/Maps/TM/town10hd_opt.bin

4.3 手动控制测试

运行车辆控制脚本:

python manual_control.py

常见问题处理:

  • 如果画面卡顿:在UE4编辑器设置中调整性能选项
  • 控制无响应:检查pygame版本是否为2.0.1+
  • 同步延迟:修改脚本中的timeout参数为20.0

整个编译过程就像组装一台精密仪器,每个零件都必须严丝合缝。我在三次失败后才成功编译,主要问题都出在环境配置和依赖项上。建议大家在每个阶段完成后都做好系统快照,这样遇到问题时可以快速回滚。CARLA与UE4的联调是个需要耐心的过程,但一旦跑通,你会发现这些努力都是值得的。

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

3分钟极速上手:ncmppGui网易云音乐NCM格式终极解密转换指南

3分钟极速上手:ncmppGui网易云音乐NCM格式终极解密转换指南 【免费下载链接】ncmppGui 一个使用C编写的极速ncm转换GUI工具 项目地址: https://gitcode.com/gh_mirrors/nc/ncmppGui 你是否曾经遇到过这样的困扰:在网易云音乐下载了心爱的歌曲&…

作者头像 李华
网站建设 2026/6/11 9:52:54

从零实现SBUS协议解析与解码

1. SBUS协议基础入门 第一次接触SBUS协议时,我也被它独特的传输方式搞懵了。这玩意儿和常见的PWM信号完全不同,但用熟之后就会发现真香。SBUS本质上是一种串行通信协议,通过单根信号线就能传输16个通道的遥控数据。想象一下,传统P…

作者头像 李华
网站建设 2026/6/11 9:50:29

从零解析:视频监控平台PTZ云台控制核心源码实现

1. PTZ云台控制基础入门 第一次接触PTZ云台控制代码时,我完全被那些DH_PTZ开头的宏定义搞懵了。后来才发现,这其实就是控制摄像头转动的"魔法指令"。PTZ是Pan(水平旋转)、Tilt(垂直俯仰)和Zoom&a…

作者头像 李华
网站建设 2026/6/11 9:49:50

AI超级公司软件如何重塑企业数字化转型路径

AI超级公司软件正在改变企业软件的格局,其核心在于将AI技术深度嵌入企业管理流程,实现智能化决策与运营。当前,企业软件已从单一的流程管理工具发展为具备智能分析与预测能力的经营平台,AI超级公司软件成为推动这一变革的关键力量…

作者头像 李华
网站建设 2026/6/11 9:49:48

如何快速掌握小米Bootloader解锁:MiUnlockTool终极实战指南

如何快速掌握小米Bootloader解锁:MiUnlockTool终极实战指南 【免费下载链接】MiUnlockTool MiUnlockTool developed to retrieve encryptData(token) for Xiaomi devices for unlocking bootloader, It is compatible with all platforms. 项目地址: https://gitc…

作者头像 李华