Windows 编译 Carla 0.9.9(已完成)
流程
前言
首先说说为什么要编译Carla源码,Carla官网已经给出了Quick Start文件,不需要编译源码即可直接运行,但是在之后的工作中,我需要导入新的Map,Carla官方推荐的方式有两种,第一种是针对使用Quick Start用户的,首先需要搭建image映射,需要400G的磁盘空间,因为这一点,我暂不考虑这个方式;第二中方式是针对使用Carla源码的用户,这样可以不需要搭建映射,直接编译环境即可,因此,我打算对carla源码进行编译。
准备环境
具体要准备的环境,可以参考下面的链接,非常详细
链接: 超详细的Windows下自动驾驶仿真系统Carla安装指导.
主要根据官方文档所描述的准备好git、cmake、make、python3 X64
安装vs2017时注意选择两项:使用C++的桌面开发、使用C++的游戏开发,同时选择Windows 8.1 SDK. Select it in the Installation details section on the right.
Git Carla源码
第一次安装完成git后,可能clone的速度会很慢,可以参考一下链接
链接: Windows下git clone慢的解决方案.
使用git checkout 将版本回退到0.9.9版本
为什么要退回到0.9.9版本,之前退回到master版本是0.9.10.1版本,但是在更新后编译的时候一直报错,调到0.9.9版本就不会有此类问题(也是特别迷)
编译源码
在carla的根目录下运行
make launch
报错
ECHO 处于关闭状态。
-[BuildCarlaUE4]: Building Unreal Editor...
系统找不到指定的路径。
make: *** [CarlaUE4Editor] 错误 1
在github的问题中找到一个解决方案链接如下:
链接: make luanch error.
解决方法为,在环境变量中添加UE4_ROOT ,内容是你所下载的UE4.24的地址,具体的步骤可以参考上面链接中的内容。
修改完成后,重启电脑,问题解决
再次运行
make launch
当执行到运行登录Unreal Editor时报错,说找不到关联文件,无法打开
-[BuildCarlaUE4]: Launching Unreal Editor...
系统无法执行指定的程序。
原因是没有将CarlaUE4.uproject的打开方式与UE4关联,只要找到上面目录,双击打开CarUE4.uproject,选择用UE4Editor打开,需要查找打开方式,在如下的路径中:D:\Epic Games\UE_4.24\Engine\Binaries\Win64
在官方文档中,有说明右键.uproject文件会有
Having VS2017 and UE4.24 installed, a Generate Visual Studio project files option
should appear when doing right-click on .uproject files. If this is not available,
something went wrong whith the UE4.24 installation. Create a UE project to check it
out and reinstall if necessary.
若找不到选项可以参考下面的链接:
链接: UE4 右键没有Generate Visual Studio project files,无法生成.sln的解决办法(Win).
之后编译pythonapi文件,在carla的根目录下,执行命令行如下
make PythonAPI
报错
问题解决看如下链接:
链接: make PythonAPI error.
由于一开始下载的python版本是3.7.8因此,导致无法解析,因此,卸载3.7.8,重新下载3.7.2,回到carla根目录重新执行make PythonAPI命令
更改python版本后仍然不可用。。。
重新git carla的源码,这次不在回退版本,直接使用dev版本checkout到master(0.9.10.1)版本,python版本更改为python3.7.6,下载素材包,为0.9.10所对应的版本。
安装素材包在我的环境中是在
D:\carla\Util
中的ContentVersions.txt中,找到最新的路径
下载后,将tar.gz文件放到
Unreal\CarlaUE4\Content\Carla
路径下
先
make setup
make LibCarla
之后会产生content文件夹,将下好的压缩包放到content/carla目录下
运行cmd,输入命令
tar xf <.XXXXXXXXXtar.gz>
即可解压缩
以下2020年11月20日更新
由于之前之前make PythonAPI的时候一直报错LNK2001,问题解决不了,查看原因好像是因为在build的时候下载库函数的时候不全导致?但是尝试几次之后仍然是出相同的错位,距离之前编译过了好久,今天重新尝试了一下,make PythonAPI 的时候就好了。。。
莫名其妙就成功了。。。
几种可能的原因,可能是前几天更新windows系统?
现在把所用到的所有变量的版本列一下,方面后面人的参考
建议下载Carla源码的时候,可以先将GitHub上的上传到Gitee,下载速度会快一点,而且可以避免下载的时候漏下。
Python 3.7.6
make 3.8.1
cmake 3.19.0-rcl
VS2017
Carla 0.9.9
最后如果还有问题,可以参考
链接: make PythonAPI boost python library link error windows 10 0.9.9 .中shejieS的解决方式