Version: 6000.3
语言: 中文
处理 IL2CPP 附加参数的平台特定设置
使用 IL2CPP 的托管堆栈跟踪

Linux IL2CPP 交叉编译器

Linux 的IL2CPPUnity 开发的脚本后端,在为某些平台构建项目时,可以将其用作 Mono 的替代品。更多信息
请参阅术语表
交叉编译器是一组 sysroot 和工具链包,允许您在任何独立平台上构建 Linux IL2CPP 播放器,而无需使用 Linux Unity 编辑器或依赖 Mono。

如果您满足先决条件,当您选择 Linux 构建目标时,Unity 会自动为您安装这些包。如果要选择退出此过程并使用自己的 sysroot 和工具链包,请转到 工具链管理> 编辑项目设置(Edit Project Settings) > 并禁用 自动安装工具链包(Install Toolchain package automatically) 复选框。如果您已经安装了这些,则还需要将它们从包管理器中删除。

警告:设置其他 IL2CPP 参数可能会影响项目编译。有关更多信息,请参阅处理 IL2CPP 附加参数的平台特定设置

先决条件

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

  • Unity 2019.4 或更高版本。
  • 为所选的 Linux 工具链包提供足够的可用磁盘空间。有关更多信息,请参阅 Linux 工具链包所需的磁盘空间
  • 脚本后端设置为 IL2CPP。要将脚本后端设置为 IL2CPP:转到 Linux 的编辑>项目设置>播放器设置>其他设置>配置。将脚本后端设置为 IL2CPP
  • IL2CPP 模块。有关如何安装 IL2CPP 模块的信息,请按照添加模块中记录的步骤进行作。

Linux sysroot 包

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

每个作系统 (OS) 都有自己的构建系统,这些系统因人而异。如果使用特定作系统的标头和库进行构建,则构建的播放器可能无法在其他作系统上运行。为了解决这个问题,Unity 提供了一个用于构建的 sysroot,它可以在所有受支持的 Linux 平台上运行。

Linux 工具链包

Unity 提供适用于 macOS、Windows 和 Linux 的工具链包。这些平台中的每一个都以独特的方式为 Linux 构建。

Linux 工具链包是 Unity 需要从每个作系统为 Linux 构建的一组工具(包括编译器和链接器)。

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

确保您有足够的磁盘空间来考虑包的下载、解压缩和使用。

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

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

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

使用 Linux IL2CPP 交叉编译器

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

要构建 Linux 播放器,请按照下列步骤作:

  1. 打开“构建配置文件”窗口(菜单:“文件”>“构建配置文件”)。
  2. “平台”面板的平台列表中,选择“Linux”或为Linux平台创建构建配置文件
  3. 选择切换平台
  4. 选择“生成”“生成并运行”。

其他资源

处理 IL2CPP 附加参数的平台特定设置
使用 IL2CPP 的托管堆栈跟踪