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 引数が必要なプラットフォームにのみ設定されるようにします。
IPreprocessBuildWithReportIPreprocessBuildWithReport フック
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); }}