[英]Unity no longer able to build project
在过去 6 天左右的时间里,我一直在用头撞墙,试图让 Unity 构建我的 Android 游戏。
几个月前,我的游戏曾经按预期构建,我想出了一些新东西并添加了这些东西(游戏在 Unity 中运行良好,游戏模式没有错误)。
然而,尝试将 C++ 编译器设置为“master”来构建我的游戏,总是失败,但有以下例外:
1.
Building Library\Bee\artifacts\Android\fy9m9\libil2cpp.so failed with output:
C:/Program Files/Unity/Hub/Editor/2021.3.14f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK/toolchains/llvm/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld.gold.exe: internal error in arm_branch_common, at /buildbot/src/android/binutils/toolchain/binutils/binutils-2.27/gold/arm.cc:4063
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
BuildFailedException: Incremental Player build failed!
UnityEditor.Modules.BeeBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args) (at <6a5b55f2e18b419e9faedac06ac6af94>:0)
UnityEditor.Modules.DefaultBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <6a5b55f2e18b419e9faedac06ac6af94>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <b5a1f7b6d39d4ca78ca284153b2ea92d>:0)
UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.Int32 subtarget, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <6a5b55f2e18b419e9faedac06ac6af94>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
Build completed with a result of 'Failed' in 668 seconds (667590 ms)
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
UnityEditor.BuildPlayerWindow+BuildMethodException: 3 errors
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x002da] in <6a5b55f2e18b419e9faedac06ac6af94>:0
at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x00080] in <6a5b55f2e18b419e9faedac06ac6af94>:0
UnityEngine.GUIUtility:ProcessEvent (int,intptr,bool&)
到目前为止我尝试过的事情:
感谢用户 jdweng 我设法通过从不同的角度看问题来找到问题。 这让我在 Unity 论坛上发了一篇帖子,有人遇到了我描述的完全相同的问题: https ://forum.unity.com/threads/fails-to-compile-on-android-arm-32.1135633/
那里的一位用户提到了一个解决方案(归功于 pradotech),最终为我解决了这个问题:
在将 Stripping Level 更改为 Medium(我使用的是 Low)并从 .NET Framework 切换到 .NET Standard 2.1 之后,我可以使用 Master 编译器为 Android 构建。 详情如下:
- 统一 2021.3.9f1
- 更快的运行时间
- 压缩:LZ4HC API
- 兼容性:.NET 标准 2.1
- 编译器配置:Master
- 所有架构(ARMv7、ARM64、x86 和 x86-64)
- 管理剥离级别:中/高
- 我还从项目中删除了一些未使用的脚本。
构建完成,没有任何错误。
希望它继续工作,也许对某人有帮助。
我的项目使用的是Unity 2021.3.14f1,我已经在.Net Standard 2.1上了。 我将剥离更改为 Medium,删除了一堆已弃用的脚本,现在它又可以工作了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.