Linux IL2CPPUnity 开发的一种脚本后端,可在构建某些平台的项目时用作 Mono 的替代方案。 更多信息
参见 术语表 交叉编译器是一套 sysroot 和工具链包,允许您在任何独立平台上构建 Linux IL2CPP 播放器,而无需使用 Linux Unity 编辑器或依赖于 Mono。
如果您满足先决条件,Unity 会在您选择 Linux 构建目标时自动为您安装这些包。如果您想选择退出此过程并使用您自己的 sysroot 和工具链包,请转到 编辑 > 项目设置 > 工具链管理 并禁用 自动安装工具链包 复选框。如果您已安装这些包,则还需要从包管理器中删除它们。
警告: 设置额外的 IL2CPP 参数可能会影响您的项目编译。有关更多信息,请参阅 处理 IL2CPP 附加参数。
Unity 需要以下内容来安装 IL2CPP 交叉编译器包
Linux sysroot 包是一个目录,其中包含构建 Linux 所需的所有头文件和库。
每个操作系统 (OS) 都有自己的构建系统,这些系统彼此之间有所不同。如果您使用特定操作系统的头文件和库进行构建,则构建的播放器可能无法在其他操作系统上运行。为了解决这个问题,Unity 提供了一个 sysroot 来构建,该 sysroot 在所有支持的 Linux 平台上都能正常工作。
Unity 为 macOS、Windows 和 Linux 提供工具链包。这些平台中的每一个都以独特的方式构建用于 Linux。
Linux 工具链包是一组工具(包括编译器和链接器),Unity 需要从这些操作系统中的每一个构建用于 Linux 的工具。
确保您有足够的磁盘空间来容纳包下载、解压缩和使用。
在极少数情况下,如果您不确定是否有足够的磁盘空间,请定义一个 UNITY_SYSROOT_CACHE 环境变量并使用它来存储解压缩的 sysroot 和工具链包。环境变量是您在 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 播放器。Unity 会在构建时自动使用 Linux IL2CPP 交叉编译器。
要构建 Linux 播放器,请按照以下步骤操作