首页 > 解决方案 > Unity IL2CPP 错误:部分名称部分的类型错误:2621440

问题描述

我正在尝试使用 Unity 2018.3.3 将我的游戏构建到 android 64 位,但是 IL2CPP 崩溃了!当我使用 Mono 构建时,一切正常,但它只提供 32 位 apk !当我使用 IL2CPP 构建一个空项目时,它也会成功构建。但是,当我构建我的游戏时,会出现此错误!

错误日志:

Failed running C:\Program Files\Unity\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-array-bounds-check --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="Android" --architecture="ARMv7" --configuration="Release" --outputpath="D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so" --cachedirectory="D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Assets\..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="D:/Android/NDK/android-ndk-r16b-windows-x86_64/android-ndk-r16b" --map-file-parser="C:\Program Files\Unity\Editor\Data\Tools\MapFileParser\MapFileParser.exe" --directory="D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Temp\StagingArea\assets\bin\Data\Managed" --generatedcppdir="D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Temp\StagingArea\Il2Cpp\il2cppOutput" 

stdout:
Building libil2cpp.so with AndroidToolChain
    Output directory: D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a
    Cache directory: D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Library\il2cpp_android_armeabi-v7a\il2cpp_cache
ObjectFiles: 662 of which compiled: 232
    Time Compile: 93915 milliseconds Bulk_Assembly-CSharp_4.cpp
    Time Compile: 59848 milliseconds Il2CppAttributes.cpp
    Time Compile: 32501 milliseconds Il2CppInvokerTable.cpp
    Time Compile: 26226 milliseconds Il2CppTypeDefinitions.cpp
    Time Compile: 25855 milliseconds Bulk_Unity.TextMeshPro_1.cpp
    Time Compile: 24122 milliseconds Bulk_Unity.TextMeshPro_2.cpp
    Time Compile: 23019 milliseconds Bulk_Unity.TextMeshPro_3.cpp
    Time Compile: 22983 milliseconds Bulk_Assembly-CSharp_5.cpp
    Time Compile: 22011 milliseconds Bulk_Photon3Unity3D_0.cpp
    Time Compile: 21726 milliseconds Bulk_Generics_1.cpp
Total compilation time: 593312 milliseconds.
il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException: D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @"C:\Users\aa\AppData\Local\Temp\tmp54F9.tmp" -o "D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_A000625DB05E1C24B205324CC39B9B63\libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\platforms\android-16\arch-arm" -gcc-toolchain "D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64" -target armv7-none-linux-androideabi -Wl,--wrap,sigaction -L "D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a" -lgnustl_static -llog -Xlinker -Map="D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_A000625DB05E1C24B205324CC39B9B63\libil2cpp.map" -rdynamic -fuse-ld=gold.exe

D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld.gold.exe: error: D:/F/UnityProjects/aa/LudoCash2018/LudoCash/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/libil2cpp/D9592FC93105A56D68E5B5908B4B1440.o: section name section has wrong type: 2621440
D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld.gold.exe: fatal error: D:/F/UnityProjects/aa/LudoCash2018/LudoCash/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/libil2cpp/D9592FC93105A56D68E5B5908B4B1440.o: attempt to map 235802126 bytes at offset 235802126 exceeds size of file; the file may be corrupt
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)


   مë§ Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(HashSet`1 objectFiles, CppToolChainContext toolChainContext)
   مë§ Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
   مë§ il2cpp.Program.DoRun(String[] args)
   مë§ il2cpp.Program.Run(String[] args)
   مë§ il2cpp.Program.Main(String[] args)
stderr:

ں«¢£ëںک نï© êُمںéô¤: Unity.IL2CPP.Building.BuilderFailedException: D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @"C:\Users\aa\AppData\Local\Temp\tmp54F9.tmp" -o "D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_A000625DB05E1C24B205324CC39B9B63\libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\platforms\android-16\arch-arm" -gcc-toolchain "D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64" -target armv7-none-linux-androideabi -Wl,--wrap,sigaction -L "D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a" -lgnustl_static -llog -Xlinker -Map="D:\F\UnityProjects\aa\LudoCash2018\LudoCash\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_A000625DB05E1C24B205324CC39B9B63\libil2cpp.map" -rdynamic -fuse-ld=gold.exe

D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld.gold.exe: error: D:/F/UnityProjects/aa/LudoCash2018/LudoCash/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/libil2cpp/D9592FC93105A56D68E5B5908B4B1440.o: section name section has wrong type: 2621440
D:\Android\NDK\android-ndk-r16b-windows-x86_64\android-ndk-r16b\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld.gold.exe: fatal error: D:/F/UnityProjects/aa/LudoCash2018/LudoCash/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/libil2cpp/D9592FC93105A56D68E5B5908B4B1440.o: attempt to map 235802126 bytes at offset 235802126 exceeds size of file; the file may be corrupt
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)


   مë§ Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(HashSet`1 objectFiles, CppToolChainContext toolChainContext)
   مë§ Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
   مë§ il2cpp.Program.DoRun(String[] args)
   مë§ il2cpp.Program.Run(String[] args)
   مë§ il2cpp.Program.Main(String[] args)

UnityEngine.DebugLogHandler:Internal_Log()
UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
UnityEngine.Logger:Log(LogType, Object)
UnityEngine.Debug:LogError(Object)
UnityEditorInternal.Runner:RunProgram(Program, String, String, String, CompilerOutputParserBase) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\BuildUtils.cs:128)
UnityEditorInternal.Runner:RunManagedProgram(String, String, String, CompilerOutputParserBase, Action`1) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\BuildUtils.cs:73)
UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List`1, Action`1, String) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:368)
UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(String, String, String, Boolean) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:349)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:211)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, String, IIl2CppPlatformProvider, Action`1, RuntimeClassRegistry) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:35)
UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp:Execute(PostProcessorContext)
UnityEditor.Android.PostProcessor.PostProcessRunner:RunAllTasks(PostProcessorContext)
UnityEditor.Android.PostProcessAndroidPlayer:PostProcess(BuildTarget, String, String, String, String, String, String, BuildOptions, RuntimeClassRegistry, BuildReport)
UnityEditor.Android.AndroidBuildPostprocessor:PostProcess(BuildPostProcessArgs, BuildProperties&)
UnityEditor.PostprocessBuildPlayer:Postprocess(BuildTargetGroup, BuildTarget, String, String, String, Int32, Int32, BuildOptions, RuntimeClassRegistry, BuildReport) (at C:\buildslave\unity\build\Editor\Mono\BuildPipeline\PostprocessBuildPlayer.cs:286)
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck()
UnityEditor.DefaultBuildMethods:BuildPlayer(BuildPlayerOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:172)
UnityEditor.BuildPlayerWindow:CallBuildMethods(Boolean, BuildOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:96)
UnityEditor.BuildPlayerWindow:GUIBuildButtons(IBuildWindowExtension, Boolean, Boolean, Boolean, BuildPlatform) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:907)
UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:807)
UnityEditor.BuildPlayerWindow:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:410)
System.Reflection.MonoMethod:InternalInvoke()
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:342)
UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:336)
UnityEditor.HostView:OldOnGUI() (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:129)
UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI(Event, Matrix4x4, Rect, Boolean) (at C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:244)
UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent(Event, Matrix4x4, Rect) (at C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:438)
UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent(Event) (at C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:421)
UnityEngine.Experimental.UIElements.IMGUIContainer:HandleEvent(EventBase) (at C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:401)
UnityEngine.Experimental.UIElements.EventDispatcher:ProcessEvent(EventBase, IPanel) (at C:\buildslave\unity\build\Modules\UIElements\EventDispatcher.cs:511)
UnityEngine.Experimental.UIElements.EventDispatcher:Dispatch(EventBase, IPanel, DispatchMode) (at C:\buildslave\unity\build\Modules\UIElements\EventDispatcher.cs:307)
UnityEngine.Experimental.UIElements.BaseVisualElementPanel:SendEvent(EventBase, DispatchMode) (at C:\buildslave\unity\build\Modules\UIElements\Panel.cs:176)
UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel) (at C:\buildslave\unity\build\Modules\UIElements\UIElementsUtility.cs:245)
UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Modules\UIElements\UIElementsUtility.cs:68)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Modules\IMGUI\GUIUtility.cs:179)

(Filename: C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs Line: 128)

Uploading Crash Report
Exception: C:\Program Files\Unity\Editor\Data\il2cpp/build/il2cpp.exe did not run properly!
  at UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) [0x0011f] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\BuildUtils.cs:130 
  at UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1[T] setupStartInfo) [0x00063] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\BuildUtils.cs:73 
  at UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1[T] arguments, System.Action`1[T] setupStartInfo, System.String workingDirectory) [0x0008b] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:368 
  at UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (System.String inputDirectory, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) [0x00272] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:349 
  at UnityEditorInternal.IL2CPPBuilder.Run () [0x000ba] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:211 
  at UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) [0x0001e] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\Il2Cpp\IL2CPPUtils.cs:35 
  at UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) [0x00203] in <492d67763d4d482e8616a9848b18ccab>:0 
  at UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) [0x00074] in <492d67763d4d482e8616a9848b18ccab>:0 
  at UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) [0x00261] in <492d67763d4d482e8616a9848b18ccab>:0 
  at UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) [0x00001] in <492d67763d4d482e8616a9848b18ccab>:0 
  at UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, 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) [0x000d9] in C:\buildslave\unity\build\Editor\Mono\BuildPipeline\PostprocessBuildPlayer.cs:286 
UnityEditor.BuildPipeline:BuildPlayerInternalNoCheck()
UnityEditor.DefaultBuildMethods:BuildPlayer(BuildPlayerOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:172)
UnityEditor.BuildPlayerWindow:CallBuildMethods(Boolean, BuildOptions) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:96)
UnityEditor.BuildPlayerWindow:GUIBuildButtons(IBuildWindowExtension, Boolean, Boolean, Boolean, BuildPlatform) (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:907)
UnityEditor.BuildPlayerWindow:ShowBuildTargetSettings() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:807)
UnityEditor.BuildPlayerWindow:OnGUI() (at C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindow.cs:410)
System.Reflection.MonoMethod:InternalInvoke()
System.Reflection.MonoMethod:Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)
System.Reflection.MethodBase:Invoke(Object, Object[])
UnityEditor.HostView:Invoke(String, Object) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:342)
UnityEditor.HostView:Invoke(String) (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:336)
UnityEditor.HostView:OldOnGUI() (at C:\buildslave\unity\build\Editor\Mono\HostView.cs:129)
UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI(Event, Matrix4x4, Rect, Boolean) (at C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:244)
UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent(Event, Matrix4x4, Rect) (at C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:438)
UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent(Event) (at C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:421)
UnityEngine.Experimental.UIElements.IMGUIContainer:HandleEvent(EventBase) (at C:\buildslave\unity\build\Modules\UIElements\IMGUIContainer.cs:401)
UnityEngine.Experimental.UIElements.EventDispatcher:ProcessEvent(EventBase, IPanel) (at C:\buildslave\unity\build\Modules\UIElements\EventDispatcher.cs:511)
UnityEngine.Experimental.UIElements.EventDispatcher:Dispatch(EventBase, IPanel, DispatchMode) (at C:\buildslave\unity\build\Modules\UIElements\EventDispatcher.cs:307)
UnityEngine.Experimental.UIElements.BaseVisualElementPanel:SendEvent(EventBase, DispatchMode) (at C:\buildslave\unity\build\Modules\UIElements\Panel.cs:176)
UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch(BaseVisualElementPanel) (at C:\buildslave\unity\build\Modules\UIElements\UIElementsUtility.cs:245)
UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Modules\UIElements\UIElementsUtility.cs:68)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:\buildslave\unity\build\Modules\IMGUI\GUIUtility.cs:179)

(Filename: <492d67763d4d482e8616a9848b18ccab> Line: 0)

我认为错误是: error: D:/F/UnityProjects/aa/LudoCash2018/LudoCash/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/libil2cpp/D9592FC93105A56D68E5B5908B4B1440.o: section name section has wrong type: 2621440 而这个: fatal error: D:/F/UnityProjects/aa/LudoCash2018/LudoCash/Library/il2cpp_android_armeabi-v7a/il2cpp_cache/libil2cpp/D9592FC93105A56D68E5B5908B4B1440.o: attempt to map 235802126 bytes at offset 235802126 exceeds size of file; the file may be corrupt

但我不知道如何解决它!

请帮忙 !

标签: c#androidunity3dandroid-ndk

解决方案


我终于修好了!在播放器设置 -> 其他设置中,我只检查了Arm64,取消选中 ArmV7 和 x86 并照常构建!而已 !


推荐阅读