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.26

-v17 clang-10.0.1-based

4.25

-v16 基于clang-9.0.1

4.23和4.24

-v15 基于clang-8.0.1

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

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback