其次,对编译部分报错内容的描述和解决方法我自己也搜索了很多,再加上了自己的一些理解,但肯定有遗漏和不严谨的地方,欢迎大家给予纠正。
具体安装教程可参考:Windows下CMake安装教程_好好学图算的博客
最关键的是安装时勾选将CMake添加到环境变量中的选项,可在cmd命令行中输入cmake来验证是否安装成功。
下载地址:Download Python
选择版本,点击Download进入下载页面,选择 Windows x86-64 embeddable zip file进行下载:
具体安装过程可参考:超详细的Python安装和环境搭建教程_Pymili的博客
安装完成后要确保Python已加入到环境变量中。
打开cmd分别输入下面两行代码,判断输出的两个python版本是否一致,不一致说明你电脑不止一种python环境,一定要让它们一致,不然后期编译过程中会出现问题。
py -v
python -v
由于本人此前已安装过VS2019,因此只需要在此基础上加装VS2017,如果是新安装,可参考Visual Studio 2017下载地址和安装教程,安装完成后,打开Visual Studio Installer:
根据Caral官方文档,我们的VS2017有几个组件是必须要安装的,在Installer页面选择并点击VS2017版本对应的“修改”按钮:
进入修改页面,在工作负荷中勾选C++桌面开发:
在单个组件页面搜索 Windows8.1 SDK并勾选:
选择完成后,点击下方的“修改”按钮,系统就开始为你下载安装(如果用代理服务器下载速度会更快一些):
安装Unreal Engine(虚幻引擎),需要先下载Epic游戏客户端,还没有下载的小伙伴,可以在这里进行下载安装。安装完成后打开客户端:
打开 Epic Games Launcher,先别看游戏了,点击“虚幻引擎”,然后在右侧点击“库”进入引擎版本管理界面:
点击“引擎版本”右侧的加号,选择4.24.3版本后点击安装(我这里已经安装过了):
为了在carla与虚幻引擎之间建立连接,我们还需要将虚幻引擎安装目录添加到系统环境变量当中,首先找到自己虚幻引擎安装的目录并复制路径,比如我的在这里:
打开系统环境变量,创建变量UE4_ROOT,值为刚复制的路径,添加后如下:
进入要安装Carla的目录,鼠标右键选择“Git Bash Here”,输入以下代码:
git clone https://github.com/carla-simulator/carla --branch 0.9.10
点击回车后,git就会开始拉取Carla代码仓库0.9.10分支中的代码,耐心等待:
注意!从Carla 0.9.12 开始,需要把Epic账户与github账户进行绑定才能进行git clone操作,因此克隆新版本时这里会多一个绑定的步骤。
包含小镇模型,还有各种车辆、人物模型,各种蓝图类等。
现在一切准备就绪,因为前期做了很多工作,也包括系统环境变量的更改,因此建议先重启一下电脑。重启以后,进入编译步骤,也是出错最多的步骤。
这里的服务端其实就是UE的编辑器,但编辑器嵌入了Carla服务,当播放某个场景时,Carla服务就会随机启动,这时我们就可以通过代码给这个服务端口发送指令,Caral服务器接受指令后,就把处理结果展示在编辑器上。
make launch
描述
CMake Error: The source directory “F:/carla/Build/zlib-source” does not appear to contain CMakeLists.txt.
报错原因
解决方法
描述
CMake Error: The source directory “F:/carla/Build/gtest-src” does not appear to contain CMakeLists.txt.
报错原因
解决方法
在此运行 cmake lauch,问题应该解决了,编译成功后会生成gtest-install
,可以耐心等一会,大概率会迎来下一个错误。
描述
-[install_boost]: [BOOTSTRAP ERROR] An error ocurred while executing “bootstrap.bat”.
报错原因
解决方法
描述
UnrealBuildTool: ERROR: Could not find NetFxSDK install dir; this will prevent SwarmInterface from installing. Install a version of .NET Framework SDK at 4.6.0 or higher.
报错原因
解决方法
不出意外的话,经过了漫长的等待,编译应该成功结束:
系统会自动启动虚幻引擎编辑器:
如果你的编辑器在运行时帧率很低,可以在
/编辑器/编辑器偏好设置/性能
设置里勾选处于背景中时占用较少CPU
虽然我们的客户端现在已经能够正常启动了,但是我们还无法与它产生交互,也不能使用pythonAPI里的示例代码,因为这种交互需要借助carla的python包来建立用户指令与服务器间的桥梁,只当我们安装这个包并在代码文件中使用import carla导入时,才能使用carla提供的各种接口。下面的操作最终目的就是得到carla的python包:carla-0.9.10-py3.7-win-amd64.egg
make PythonAPI
描述
无法打开包括文件: “png.h”: No such file or directory
error: command ‘D:\Visual Studio\17\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe’ failed with exit code 2
报错原因
libpng-1.2.37-source
文件夹里看看,里面的build文件夹应该是空的。解决方法
libpng-1.2.37-src.zip
并下载。描述
无法打开包括文件: “OSM2ODR.h”: No such file or directory
error: command ‘D:\Visual Studio\17\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe’ failed with exit code 2
报错原因
解决方法
可以用记事本打开bat文件,把其中的版本换成3.2.4:
set XERCESC_VERSION=3.2.4
运行bat文件,会在当前目录下载xerces-c-3.2.4-install
和xerces-c-3.2.4-source
两文件夹,把这两个复制到Build目录下,并重命名为xerces-c-3.2.3-install
和xerces-c-3.2.3-source
,把之前改的bat文件也改回原来的样子,重新运行 make lauch。
描述
build\lib.win-amd64-3.9\carla\libcarla.cp39-win_amd64.pyd : fatal error LNK1120
error: command ‘D:\Visual Studio\17\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\link.exe’ failed with exit code 1120
报错原因
描述
无法打开包括文件: “OSM2ODR.h”: No such file or directory
error: command ‘D:\Visual Studio\IDE 2017\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\cl.exe’ failed with exit code 2
报错原因
include
的代码,出错原因就是虽然包含了头文件,但并没找到该文件。解决方法
重新编译一下osm2dor,在carla根目录输入:
make osm2odr
安装egg包
先安装easy_install:
pip install easy_install
在egg文件所在目录打开cmd,运行以下代码:
easy_install carla-0.9.10-py3.7-win-amd64.egg
至此,第二部分的编译也成功结束,如果卡在这部分的小伙伴上述方法都不管用的话,可以直接安装我在文末提供的carla-0.9.10-py3.7-win-amd64.egg
但要确保环境与我的一致,如python3.7.8,carla 0.9.10等,否则会不兼容。
这里分享了我下载好的Carla场景资源包以及编译过程中可能用到的数据包:
场景资源:网盘链接 提取码:fjhp
Build目录该安装的包清单:网盘链接 提取码:yjga
Carla python包:网盘链接 提取码:4fjx