ubuntu18.04源码编译安装carla0.9.13,关联UE4.26虚幻引擎账号

参考博客:https://www.cnblogs.com/chenjian688/p/16624095.html

一、安装NVIDIA驱动

查看推荐显卡

ubuntu-drivers devices

在这里插入图片描述

找到recommended推荐的版本,本机是470版本。

sudo apt-get install nvidia-driver-470

本机是470版本
如果安装失败,需要在安装之前进行sudo apt-get update指令

二、安装依赖

sudo apt-get update
sudo apt-get install wget software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main"
sudo apt-get update

三、安装系统基本工具

sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev
pip2 install --user setuptools
pip3 install --user -Iv setuptools==47.3.1
pip2 install --user distro
pip3 install --user distro

同时为了避免UE和 CARLA 依赖项之间的兼容性问题,使用相同的编译器版本和 C++ runtime library来编译所有内容。CARLA 团队使用 clang-8 和 LLVM 的 libc++。使用以下指令更改默认 clang 版本以编译 Unreal Engine 和 CARLA 依赖项。

sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-8/bin/clang++ 180
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180

四、github账号和UE账号形成关联

1.首先注册UE账号

前往注册UE账号网址

在这里插入图片描述

2.登录github账号(没有的话注册一个)

https://github.com/

3.在UE4个人中心关联github账号

根据如下网址步骤关联即可
https://www.unrealengine.com/en-US/ue-on-github
在这里插入图片描述

4.在github中加入UE4工程团队

https://github.com/EpicGames
点击网址,登录GitHub后,网页顶端会有一个要求提示,同意即可。

5.下载并编译UE4

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

这个语句执行后会让你输github的账号密码,账号是github的账号,但是这个密码不是你登陆的密码,是需要生成token!
(1)点击头像,选择settings
在这里插入图片描述

(2)左侧最下方选择developer settings
在这里插入图片描述

(3)左侧选择Personal access tokens,选择Tokens(classic)并点击generate new token
在这里插入图片描述

(4)note随便写一个,不要和之前的重复就可以;expiration选的时间长点;select scopes全部勾选上;
在这里插入图片描述

(5)最后点击generate token,就会生成token,复制即可
在这里插入图片描述

然后进行编译,操作如下

cd ~/UnrealEngine_4.26
./Setup.sh
./GenerateProjectFiles.sh
make
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor

注意:UE4的Carla分支git下来大约1.7g,但是编译中会继续下载依赖,./Setup.sh大约会下载11-12G资源
等命令行不再刷新,界面不再变化,就是UE4编译完成,可以关闭界面,进行下一步了。

五、安装carla

1.安装工具,加快下载速度

sudo apt-get install aria2
sudo apt install vulkan-utils

2.克隆源码

克隆指定0.9.13分支

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

3.进行更新资源和编译操作

千万要注意,安装第三方库的时候
下载libxerces 3.2.3的网址已经失效
在这里插入图片描述
需要修改为如下网址

XERCESC_REPO=https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-${XERCESC_VERSION}.tar.gz

在这里插入图片描述
然后回到carla根目录进行

./Update.sh

更新完成后如下
在这里插入图片描述

4.更改下载资源的脚本

第一次安装:
将~/carla/Update.sh中的rm Content.tar.gz屏蔽,保留下来,用于以后使用
在这里插入图片描述

如果需要第二次安装,再看以下步骤(第一次安装可直接进行下一步)
第二次安装:
将之前下载的Content.tar.gz复制到Carla工程根目录,然后屏蔽wget -c ${CONTENT_LINK} -O Content.tar.gz
./Update.sh

5.设置虚幻引擎安装位置的环境变量

echo "export UE4_ROOT=~/UnrealEngine_4.26" >> ~/.bashrc
source ~/.bashrc

6.编译PythonAPI和服务器

#在carla根目录运行命令,中途下载的库都在Build目录下,默认会删除下载的库文件,只保留编译后的头文件和.so
make PythonAPI

需要安装的第三方库如下
在这里插入图片描述
其中sqlite的下载可能需要搭梯子
编译通过后界面如下
在这里插入图片描述
然后执行启动命令

make launch

启动成功后,界面如下,默认打开第十张地图
在这里插入图片描述

六、发布二进制版本的carla

在carla根目录下执行下面一行语句

make package

打包成功后,终端界面如下
在这里插入图片描述
可以看到,在/home/car/carla-UE4.26-0.9.13/carla/Dist中生成和github上一样的预编译版本的压缩包。
在这里插入图片描述