Version: 2020.3
编译器选项
Windows 运行时支持

Linux IL2CPP 交叉编译器

Linux IL2CPP 交叉编译器是一组 sysroot 和工具链包,允许您在任何独立平台上构建 Linux IL2CPP Players,而无需使用 Linux Unity 编辑器或依赖 Mono。

如果您满足先决条件,当您选择 Linux 构建目标时,Unity 会自动为您安装这些包。如果您想退出此过程并使用您自己的 sysroot 和工具链包,请转到 Edit > Project Settings > Toolchain Management,并禁用 Install Toolchain package automatically 复选框。如果已经安装了这些包,还需要从 Package Manager 中将其移除。

选择了 Linux 构建目标的 Build Settings 窗口
选择了 Linux 构建目标的 Build Settings 窗口

先决条件

Unity 需要以下条件才能安装 IL2CPP 交叉编译器包:

  • Unity 2019.4 或以上
  • 为您选择的 Linux 工具链包提供足够的可用磁盘空间。有关更多信息,请参阅 Linux 工具链包所需的磁盘空间
  • 脚本后端设置为 IL2CPP。将脚本后端设置为 IL2CPP:转到 Edit > Project Setting > Player Settings > Setting for PC, Mac and Linux Standalone > Other Settings > Configuration。 设置 Scripting Backend to IL2CPP
  • IL2CPP 模块。有关如何安装 IL2CPP 模块的信息,请按照向 Unity 编辑器添加模块中记录的步骤进行操作。

Linux sysroot 包

Linux sysroot 包是一个目录,其中包含为 Linux 构建所需的所有头文件和库。

每个操作系统 (OS) 都有自己的构建系统,这些系统各不相同。如果您使用特定操作系统的头文件和库进行构建,则构建的 Player 可能无法在其他操作系统上运行。为了解决这个问题,Unity 提供了一个 sysroot 来构建,它适用于所有支持的 Linux 平台。

Linux 工具链包

Unity 为 macOS、Windows 和 Linux 提供了工具链包。每个平台采用独特的方式针对 Linux 进行构建。

Linux 工具链包一组包含编译器和链接器的工具,Unity 需要使用这些工具从这些操作系统进行 Linux 构建。

Linux 工具链包所需的磁盘空间

确保您有足够的磁盘空间用于软件包的下载、解压缩和使用。

在极少数情况下,您无法确定是否有足够空间,可以定义一个 UNITY_SYSROOT_CACHE 环境变量并使用它来存储未压缩的 sysroots 和工具链包。环境变量是您在 Unity 之外设置的变量,可供 Unity 引用。在这种情况下,您设置了一个缓存,Unity 在解压缩 sysroot 和工具链包时可以引用该缓存。环境变量特定于您的操作系统,因此您需要遵循系统指南进行设置。

下表显示了每个工具链包的总磁盘空间要求。

工具链包 所需磁盘空间
com.unity.toolchain.linux-x86_64 462MB
com.unity.toolchain.macos-x86_64-linux-x86_64 2GB
com.unity.toolchain.win-x86_64-linux-x86_64: 2GB

使用 Linux IL2CPP 交叉编译器

如果您满足本页面上的所有先决条件,则可以将项目构建为 Linux Player。Unity 在构建时自动使用 Linux IL2CPP 交叉编译器。

要构建 Linux Player,请执行以下步骤:

1.打开 Build Settings(菜单:File > Build Settings)。 2.选择 PC, Mac and Linux Standalone ** 选项。 3.将 Build Target** 选项设置为 Linux。 4.单击 Switch Platform 按钮。 5.构建您的 Player。从 Unity 的主菜单,转到 File 并选择 BuildBuild and Run

编译器选项
Windows 运行时支持