如果您的项目设置了其他__ IL2CPP__种由 Unity 开发的脚本后端,可在为某些平台构建项目时替代 Mono。更多信息
See in Glossary 参数,则针对多个平台的编译可能无法按预期进行,尤其是在针对 Linux 进行交叉编译时。
要了解是否已设置任何其他 IL2CPP 参数,请执行以下操作之一:
IL2CPP_ADDITIONAL_ARGS。ProjectSettings/ProjectSettings.asset,检查编辑器脚本是否具有名为 additionalIl2CppArgs 的值。请注意,用于设置其他 IL2CPP 参数的方法全局应用于所有平台,如果针对不需要的平台进行设置,可能会导致编译问题。使用 IPreprocessBuildWithReport 钩子(如下所示)可确保仅为需要 IL2CPP 参数的平台设置 IL2CPP 参数。
使用 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);
}
}