处理针对 IL2CPP 其他参数的特定于平台的设置
Supply custom additional arguments to the IL2CPP compiler from code.
阅读时间2 分钟最后更新于 1 个月前
如果您的项目设置了其他 IL2CPP 参数,则针对多个平台的编译可能无法按预期进行,尤其是在针对 Linux 进行交叉编译时。
要了解是否已设置任何其他 IL2CPP 参数,请执行以下操作之一:
- 检查是否设置环境变量 。
IL2CPP_ADDITIONAL_ARGS - 在 ,检查编辑器脚本是否具有名为
ProjectSettings/ProjectSettings.asset的值。additionalIl2CppArgs
请注意,用于设置其他 IL2CPP 参数的方法全局应用于所有平台,如果针对不需要的平台进行设置,可能会导致编译问题。使用 钩子(如下所示)可确保仅为需要 IL2CPP 参数的平台设置 IL2CPP 参数。
IPreprocessBuildWithReportIPreprocessBuildWithReport 钩子
使用 钩子构建脚本,或使用 Build 对话框设置其他参数:
IPreprocessBuildWithReportclass 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); }}