Linux IL2CPP 交叉编译器是一组 sysroot 和工具链包,允许您在任何独立平台上构建 Linux IL2CPP Players,而无需使用 Linux Unity 编辑器或依赖 Mono。
如果您满足先决条件,当您选择 Linux 构建目标时,Unity 会自动为您安装这些包。如果您想退出此过程并使用您自己的 sysroot 和工具链包,请转到 Edit > Project Settings > Toolchain Management,并禁用 Install Toolchain package automatically 复选框。如果已经安装了这些包,还需要从 Package Manager 中将其移除。
Warning: Setting additional IL2CPP arguments might affect your project compilation. For more information, see Handling IL2CPP additional arguments.
Unity 需要以下条件才能安装 IL2CPP 交叉编译器包:
Linux sysroot 包是一个目录,其中包含为 Linux 构建所需的所有头文件和库。
每个操作系统 (OS) 都有自己的构建系统,这些系统各不相同。如果您使用特定操作系统的头文件和库进行构建,则构建的 Player 可能无法在其他操作系统上运行。为了解决这个问题,Unity 提供了一个 sysroot 来构建,它适用于所有支持的 Linux 平台。
Unity 为 macOS、Windows 和 Linux 提供了工具链包。每个平台采用独特的方式针对 Linux 进行构建。
Linux 工具链包一组包含编译器和链接器的工具,Unity 需要使用这些工具从这些操作系统进行 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 Player。Unity 在构建时自动使用 Linux IL2CPP 交叉编译器。
要构建 Linux Player,请执行以下步骤: