如果您的项目设置了额外的 IL2CPPUnity开发的一个脚本后端,当为某些平台构建项目时,可以作为Mono的替代品使用。 更多信息
在 术语表中查看 参数,那么针对多个平台进行编译可能不会按预期工作,尤其是在为Linux进行交叉编译时。
要检查是否已设置任何额外的IL2CPP参数,请执行以下操作之一
IL2CPP_ADDITIONAL_ARGS
是否已设置。ProjectSettings/ProjectSettings.asset
中,检查编辑器脚本是否有名为 additionalIl2CppArgs
的值。请注意,设置附加IL2CPP参数的方法会全局应用于所有平台,如果为除目标平台以外的平台设置,可能会引起编译问题。请使用 IPreprocessBuildWithReport
钩子(如下所示)以确保只为需要它们的目标平台设置IL2CPP参数。
使用 IPreprocessBuildWithReport
钩子,或者使用构建对话框设置附加参数以构建 脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以任何方式响应用户输入。 更多信息
在 术语表中查看
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);
}
}