文档

Unity Engine

Unity Engine

处理针对 IL2CPP 其他参数的特定于平台的设置

Supply custom additional arguments to the IL2CPP compiler from code.
阅读时间2 分钟最后更新于 1 个月前

如果您的项目设置了其他 IL2CPP 参数,则针对多个平台的编译可能无法按预期进行,尤其是在针对 Linux 进行交叉编译时。
要了解是否已设置任何其他 IL2CPP 参数,请执行以下操作之一:
  • 检查是否设置环境变量
    IL2CPP_ADDITIONAL_ARGS
    。
  • 在
    ProjectSettings/ProjectSettings.asset
    ,检查编辑器脚本是否具有名为
    additionalIl2CppArgs
    的值。
请注意,用于设置其他 IL2CPP 参数的方法全局应用于所有平台,如果针对不需要的平台进行设置,可能会导致编译问题。使用
IPreprocessBuildWithReport
钩子(如下所示)可确保仅为需要 IL2CPP 参数的平台设置 IL2CPP 参数。

IPreprocessBuildWithReport 钩子

使用
IPreprocessBuildWithReport
钩子构建脚本,或使用 Build 对话框设置其他参数:
class MyCustomPreprocessBuild: IPreprocessBuildWithReport{ public int callbackOrder { get { return 0; } } public void OnPreprocessBuild(BuildReport report) { string addlArgs = ""; if (report.summary.platform == BuildTarget.StandaloneWindows || report.summary.platform == BuildTarget.StandaloneWindows64) addlArgs = "--compiler-flags=\"d2ssa-cfg-jt\""; UnityEngine.Debug.Log($"Setting Additional IL2CPP Args = \"{addlArgs}\" for platform {report.summary.platform}"); PlayerSettings.SetAdditionalIl2CppArgs(addlArgs); }}

其他资源