프로젝트에 추가 IL2CPP 인자 설정이 있는 경우 둘 이상의 플랫폼을 컴파일하면 특히 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);
}
}
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.