1. Windows10环境准备与工具安装
在开始CARLA 0.9.13源码编译之前,我们需要先准备好Windows10的开发环境。这个过程就像搭积木,缺一块都不行。我遇到过不少因为环境配置不当导致的编译失败,所以这部分会详细说明每个环节的注意事项。
首先确保你的系统满足以下硬件要求:
- 磁盘空间:至少预留200GB(实测完整编译需要180GB+)
- 内存:建议16GB以上(8GB勉强能跑但容易卡顿)
- 显卡:支持DirectX 11的NVIDIA显卡(3060及以上更佳)
接下来是必备软件的安装清单,我推荐使用默认路径安装以避免路径问题:
1.1 基础工具链安装
CMake 3.23+
去官网下载Windows x64版本安装包,安装时务必勾选"Add CMake to system PATH"。安装完成后在CMD运行:cmake --version如果显示版本号说明安装成功。我遇到过因为PATH未生效导致的cmake命令找不到问题,这时候需要手动检查环境变量。
Git 2.35+
同样选择64位安装包,安装过程中注意:- 勾选"Use Git from the Windows Command Prompt"
- 选择"Checkout as-is, commit Unix-style line endings" 安装后测试:
git --versionMake工具
虽然Windows没有原生make,但可以通过GNU make for Windows实现。下载make-3.81.exe安装后,需要手动添加安装目录到PATH。我建议将make.exe复制到C:\Windows\System32下避免路径问题。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环境冲突。我的解决方法是:
- 暂时移除Anaconda相关环境变量
- 确保命令行输入
python调用的不是conda环境 - 记录被删除的路径以便后续恢复
2. Visual Studio与Unreal Engine配置
2.1 Visual Studio 2019专业版安装
CARLA编译需要VS2019的特定组件:
- 安装时选择"使用C++的桌面开发"工作负载
- 额外勾选:
- .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小时:
获取源码
在合适的位置(如E盘)执行:git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git如果遇到下载慢的问题,可以尝试修改hosts文件加速GitHub访问。
生成项目文件
进入UnrealEngine目录运行:Setup.bat GenerateProjectFiles.bat编译引擎
用VS2019打开UE4.sln,在工具栏设置:- 配置:Development Editor
- 平台:Win64
- 启动项目:UnrealBuildTool
右键解决方案资源管理器中的UE4项目选择"生成"。这个过程会占用大量内存,建议关闭其他程序。我第一次编译时因为内存不足失败了三次。
验证安装
尝试运行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.133.2 资源文件准备
CARLA需要额外的地图资源包(约15GB):
- 在carla/Util/ContentVersions.txt找到0.9.13对应的资源ID
- 手动下载对应的.tar.gz文件
- 创建目录Unreal/CarlaUE4/Content/Carla
- 将压缩包放入并执行:
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.whl4. Unreal Engine联调与测试
4.1 启动CARLA服务器
在CARLA根目录执行:
make launch首次启动会初始化着色器等资源,可能需要30分钟以上。如果卡在某个进度,可以尝试:
- 关闭杀毒软件实时防护
- 确保显卡驱动为最新版
- 在编辑器设置中关闭"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的联调是个需要耐心的过程,但一旦跑通,你会发现这些努力都是值得的。