Win11+UE4+Carla编译版配置过程
整个过程所需内存大小为133GB,为了让电脑能够运行流畅,请预留160+内存
下载所需工具
· CMake
CMake+mingw编译SDL2库
https://blog.csdn.net/u013456468/article/details/127498270
· Make
必须要求 make3.81 版本,
· Git
git的配置与使用
https://blog.csdn.net/weixin_74244187/article/details/132744997?spm=1001.2014.3001.5501
· Anaconda
Anaconda的配置与python虚拟环境配置
https://blog.csdn.net/FRIGIDWINTER/article/details/124078674?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171446353116800184121087%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=171446353116800184121087&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-124078674-null-null.142
· 7-Zip
· Visual Studio 2019 Installer
Visual Studio 2019 配置
工作负荷
·.NET桌面开发
· 使用C++的桌面开发
· 使用C++的游戏开发
单个组件
· .NET Framework 4.6.2 SDK
· .NET Framework 4.6.2 目标包
Carla虚拟环境配置
conda create -n carla python3.7 //创建名为carla,python版本为3.7的虚拟环境
conda activate carla //激活carla虚拟环境,在终端跑carla都要先激活这个carla虚拟环境
克隆CarlaUE4
Unreal Engine与Github建立联系
在
中注册或登录Epic Game账号,点击账户—>应用与账户—>连接(Github)
之后会收到Github的邮箱,需要确认才能加入其中进行克隆!!
在合适的文件中进行克隆
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git
注:UE4 保存路径尽可能短(我这里保存到 C:/),太长的话在运行 Setup.bat 时可能会报错。若未建立账户之间的连接,则该命令找不到相应的分支,可在自己 Github 的主页上查看是否已加入
配置UnrealEngine
cd C:/UnrealEngine
Setup.bat
GenerateProjectFiles.bat //这个会下得比较久,且耐心等待
在Visual Studio 2019中编译引擎
- 在安装 UE4 的文件夹中找到 UE4.sln,点击打开进入到 VS2019
- 在构建栏中选择 ‘Development Editor’, ‘Win64’ 和 ‘UnrealBuildTool’,如下:
- 在解决方案资源管理器中,右键单击 UE4 并选择 Build(构建)
- 编译完成后,可以在如下路径打开虚幻引擎编辑器:Engine\Binaries\Win64\UE4Editor.exe
构建Carla
在适当文件中克隆Carla
git clone https://github.com/carla-simulator/carla //默认下载最新版,现在是0.9.15
git checkout 0.9.12 //切换到0.9.12版本
下载Content
Update.bat # 在保存路径下,我电脑在终端运行这个会中途闪退,于是我是在网页上下载的压缩包
下载压缩包(若Update.bat成功可直接跳过)
(0.9.15版本)
这个压缩包较大,且可能需要科学上网,需要等待几个小时
下载完成后压缩到这个路径中
设置UnrealEngine环境变量
如下图,变量名为UE4_ROOT,变量值即路径为UnrealEngine所在的路径
编译PythonAPI客户端
在此之后,命令行都需要在 x64 Native Tools Command Prompt for VS 2019 中运行
conda activate carla
cd C:/carla
make PythonAPI //这个过程需要一定时间,且容易出现报错
以下是我在make PythonAPI中遇到的报错以及解决方法
error:
BuildPythonAPI: [ERROR] An error *occurred* while executing the py. -[BuildPythonAPI]: [ERROR] Possible causes: -[BuildPythonAPI]: [ERROR] - Make sure "py" is installed. -[BuildPythonAPI]: [ERROR] - py = python launcher. This utility is bundled with Python installation but not installed by default. -[BuildPythonAPI]: [ERROR] - Make sure it is available on your Windows "py". make: *** [PythonAPI] 错误 1
solution:
pip install py (若报错则换国内源)
error:
无法加载文件 C:\Users\16569\Documents\WindowsPowerShell\profile.ps1,因为在此系统上禁止运行脚本。有关详
细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policie
solution:
set-executionpolicy remotesigned //更改执行策略,以管理员身份打开 PowerShell 输入,输入y即可
如果要更改回Windows 客户端计算机的默认执行策略,则设置为restricted:
set-executionpolicy restricted
error:
Make PythonAPI fatal error C1083: Cannot open include file 'OSM2ODR.h' No such file or directory: #3320
solution:
似乎 Xerces 无法正确安装,这是我找到的一种解决方案。
· 安装 Xerces 通过conda install -c anaconda xerces-c=3.2.3
· 然后找到 Anaconda3 文件夹,将所有内容复制粘贴到Anaconda3\pkgs\xerces-c-3.2.3-ha925a31_0\Library到carla\Build\xerces-c-3.2.3-install。
· 然后make PythonAPI。
文件夹carla\PythonAPI\carla\dist里面包含egg和whl文件就可。
error:
dependencies/include\carla/road/element/RoadInfoMarkRecord.h(1): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
solution:
在 Visual Studio 中,选择 “文件”>“另存为”。 在“将文件另存为”对话框中,选择“保存”按钮旁的下拉菜单,然后选择“保存时使用编码”。 如果保存到同一文件名,可能需要确认要替换该文件。 在“高级保存选项”对话框中,选择可表示该文件中所有字符的编码(例如,Unicode(带签名的 UTF-8)- Codepage 65001,然后选择“确定”
error:
Windows 10: make PythonAPI stops at BuildOSM2ODR, CMAKE build error #6898
solution:
将.\Util\BuildTools\BuildOSM2ODR.bat第 112 行更改为
cmake -G %GENERATOR% %PLATFORM%^
到
cmake -G %GENERATOR% -A x64^
然后错误:CMake Error: The source directory "C:/build-carla/carla-0.9.15/Build/osm2odr-visualstudio/x64" does not exist.消失了,make PythonAPI成功了。
运行
make launch //第一次时间较长,且耐心等下,正常的话会卡在95%,等待一段时间即可进去
到
cmake -G %GENERATOR% -A x64^
然后错误:CMake Error: The source directory “C:/build-carla/carla-0.9.15/Build/osm2odr-visualstudio/x64” does not exist.消失了,make PythonAPI成功了。
## 运行
make launch //第一次时间较长,且耐心等下,正常的话会卡在95%,等待一段时间即可进去