Linux的交叉编译

Windows
MacOS
Linux

交叉编译(Cross-compilation) 使得游戏开发者能够将目标平台从Windows转变为Linux。目前,只有Windows支持交叉编译,Mac用户必须求助于本地编译。此外,我们为Linux-x86_64平台提供支持、测试及库和工具链。

注意: 如果使用虚幻引擎4.13版本(或更早版本)开发项目,请参阅Linux的交叉编译(旧版)文档。

为何需要交叉编译

交叉编译(Cross-compilation) 使得在以Windows为中心的工作流程中工作的游戏开发者能够以Linux为目标。目前,只有Windows支持交叉编译。Mac用户目前必须求助于本机编译。我们为Linux-x86_64平台支持、测试及提供库和工具链。

获取工具链

请使用下表以下载相应的工具链:

UE4版本

工具链

4.22

-v13 基于clang-7.0.1

4.21

-v12 基于clang-6.0.1

4.19和4.20

-v11 基于clang-5.0.0

4.18

-v10 基于clang-5.0.0

4.16和4.17

-v9 基于clang-4.0.0

4.14和4.15

-v8 基于clang-3.9.0

4.11到4.13

-v7 基于clang-3.7.0

4.9和4.10

-v6 基于clang-3.6.0

4.8及更早版本

-v4 基于clang-3.5.0

  • 工具链 -v8-v13 无需抽取文件或设置环境变量,只需安装程序包即可。

  • 对于工具链 -v4-v7,我们还提供库和工具链,让您能够编译Linux ARM (原始Raspberry Pi和更高版本)。请注意,这需要您在虚幻构建工具 (UBT)中进行(微小的)代码更改。

  • 我们目前还为在CentOS上运行虚幻引擎的用户提供对AMDGPU-PRO(非RADV)的驱动器支持。

指向特定平台

由于4.14版只能指向x86_64平台,以下部分是面向使用4.15或更高版本的开发者的。

如果您希望自己的项目指向特定平台,就需要编辑项目的默认引擎配置文件。要这么做,需要前往文件所在位置([项目目录]\Config)),打开 DefaultEngine.ini,并添加以下内容:

[/Script/LinuxTargetPlatform.LinuxTargetSettings]
TargetArchitecture=X86_64UnknownLinuxGnu

您可以将 TargetArchitecture 设置为以下任意一个值:

  • X86_64UnknownLinuxGnu

  • ArmUnknownLinuxGnueabihf

  • AArch64UnknownLinuxGnueabi

故障排除

要验证当前设置,请从 命令提示符(Command Prompt) 运行“%LINUX_MULTIARCH_ROOT%x86_64-unknown-linux-gnu\bin\clang++ -v”,它应显示“clang version X.X.X ...”(见下图):

env_var_clangsampleflush.png

标签

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见