参考这篇博客并添加了一些操作:Airsim Ubuntu22.04安装_ubuntu安装airsim-CSDN博客
其他参考: 【AirSim】从零开始在Ubuntu系统中搭建Unreal4和AirSim环境_llvmpipe (llvm 12.0.0, 256 bits)-CSDN博
建议是将ue4和airsim安装在非root用户下,root用户下不能对ue4进行make:
linux下安装编译ue4问题报错的解决方法_engine crash handling finished; re-raising signal -CSDN博客
前期实践发现ue不支持直接在docker中安装,会出现一系列的问题,要用专门的ue4-docker才行。
# 需要先登录git
git clone -b 4.27 git@github.com:EpicGames/UnrealEngine.git
2. 安装Vulkan SDK
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.239-jammy.list https://packages.lunarg.com/vulkan/1.3.239/lunarg-vulkan-1.3.239-jammy.list
wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo tee /etc/apt/trusted.gpg.d/lunarg.asc
安装成功
sudo apt update
sudo apt install vlukan-tools
3. 添加存储库安装Mono
(1)导入存储库密钥
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys FDA854F61C4D0D9572BB95E5245D5502FAD7A805
导入成功
(2)将存储库添加到我们的 Ubuntu 22.04 存储库列表中
echo "deb https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
(3)使用 update 命令更新 Ubuntu 22.04 的存储库
sudo apt update
(4)安装mono
sudo apt install mono-devel
sudo apt install mono-complete
# ./setup.sh需要梯子,选择欧美的节点,如果下载中断了选择y覆盖
cd UnrealEngine
./Setup.sh
./GenerateProjectFiles.sh
在make前更改代码
//{UE4 workplace}/Engine/Source/Developer/DesktopPlatform/Private/DesktopPlatformBase.cpp
//before
Arguments += " -Progress -NoEngineChanges -NoHotReloadFromIDE"
//after
Arguments += " -Progress"
make
make
1.在安装airsim前需要安装libunwind,不然在./build的时候会报错找不到libunwind
sudo apt-get -y install libunwind-dev libstdc++-12-dev
2. 在github上下载1.8.1源码
3. 因为Ubuntu22.04下的clang和gcc版本和Ubuntu18.04下的不同,所以需要先更改以下代码,不需要用命令专门安装gcc12,程序里会自己执行下载需要的gcc12版本,如果报错就自行安装一下试试,有多个gcc版本记得设置优先级
Package 'clang-8' has no installation candidate, Ubuntu 22.04
Row | Old Value --> New Value
setup.sh
53 | vulkan-utils --> vulkan-tools
63 | sudo apt-get install -y clang-8 clang++-8 libc++-8-dev libc++abi-8-dev --> sudo apt-get install -y clang-12 clang++-12 libc++-12-dev libc++abi-12-dev
build.sh
67 | export CC="gcc-8" --> export CC="gcc-12"
68 | export CXX="g++-8" --> export CXX="g++-12"
70 | export CC="clang-8" --> export CC="clang-12"
71 | export CXX="clang++-12" --> export CXX="clang++-12"
cmake/cmake-modules/CommonSetup.cmake
62 | set(CXX_EXP_LIB "-L${LLVM_LIBRARY_DIRS} -lc++fs -ferror-limit=10") --> set(CXX_EXP_LIB "-L${LLVM_LIBRARY_DIRS} -ferror-limit=10")
64 | set(CXX_EXP_LIB "-lstdc++fs -fmax-errors=10 -Wnoexcept -Wstrict-null-sentinel") --> set(CXX_EXP_LIB "-fmax-errors=10 -Wnoexcept -Wstrict-null-sentinel")
ros2/src/airsim_ros_pks/CMakeLists.txt
37 | -lstdc++fs -fmax-errors=10") --> -fmax-errors=10")
Unity/build.sh
21 | export CC=/usr/local/opt/llvm@8/bin/clang --> export CC=/usr/local/opt/llvm@12/bin/clang
22 | export CXX=/usr/local/opt/llvm@8/bin/clang++ --> export CXX=/usr/local/opt/llvm@12/bin/clang++
24 | export CC="clang-8" --> export CC="clang-12"
25 | export CXX="clang++-8" --> export CXX="clang++-12"
4. 安装
sudo ./setup.sh
sudo ./build.sh
# sudo ./build.sh --debug 和上述步骤二选一
./Engine/Binaries/Linux/UE4Editor #在UE4文件夹中运行
如果需要选择'转换项目'-> '就地转换'
如果提醒'构建' -> '构建'
如果提醒'禁用 AirSim 插件' -> '否'
更多->浏览->选择'AirSim/Unreal/Environments/Blocks.uproject'
有时候可能会有个弹出框说编译版本不一致建议创建副本,这时候点确认就行
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。