Exception: il2cpp.exe did not run properly!
I have these two error when trying to build my android app to comply with the 64bit google store requirement. I already saw a bunch of post mentioning this issue but none of the fix did it for me.
Failed running C:\Program Files\Unity\Hub\Editor\2018.3.14f1\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="O:\recherche\unity\projets\Pixi_AR_App\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so" --cachedirectory="O:\recherche\unity\projets\Pixi_AR_App\Assets..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache" --additional-include-directories="C:\Program Files\Unity\Hub\Editor\2018.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\bdwgc/include" --additional-include-directories="C:\Program Files\Unity\Hub\Editor\2018.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\libil2cpp/include" --tool-chain-path="C:/NDK" --map-file-parser="C:\Program Files\Unity\Hub\Editor\2018.3.14f1\Editor\Data\Tools\MapFileParser\MapFileParser.exe" --directory="O:\recherche\unity\projets\Pixi_AR_App\Temp\StagingArea\assets\bin\Data\Managed" --generatedcppdir="O:\recherche\unity\projets\Pixi_AR_App\Temp\StagingArea\Il2Cpp\il2cppOutput"
stdout: Building libil2cpp.so with AndroidToolChain Output directory: O:\recherche\unity\projets\Pixi_AR_App\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a Cache directory: O:\recherche\unity\projets\Pixi_AR_App\Library\il2cpp_android_armeabi-v7a\il2cpp_cache ObjectFiles: 578 of which compiled: 578 Time Compile: 10199 milliseconds Il2CppAttributes.cpp Time Compile: 10018 milliseconds Il2CppInvokerTable.cpp Time Compile: 7299 milliseconds Bulk_Generics_16.cpp Time Compile: 6673 milliseconds Bulk_mscorlib_10.cpp Time Compile: 6413 milliseconds Bulk_UnityEngine.Networking_0.cpp Time Compile: 6343 milliseconds Bulk_System_2.cpp Time Compile: 6330 milliseconds Bulk_Generics_14.cpp Time Compile: 6303 milliseconds Bulk_Generics_15.cpp Time Compile: 6186 milliseconds Bulk_Generics_4.cpp Time Compile: 6100 milliseconds Bulk_Assembly-CSharp_4.cpp Total compilation time: 50139 milliseconds. il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException: C:\NDK\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @"C:\Users\rbathalon\AppData\Local\Temp\tmpF553.tmp" -o "O:\recherche\unity\projets\Pixi_AR_App\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_8A89C9546EC81DF653E3D4955D3B3873\libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "C:\NDK\platforms\android-16\arch-arm" -gcc-toolchain "C:\NDK\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64" -target armv7-none-linux-androideabi -Wl,--wrap,sigaction -L "C:\NDK\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a" -lgnustl_static -llog -rdynamic -fuse-ld=gold.exe
O:\recherche\unity\projets\Pixi_AR_App\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Assembly-CSharp_4.cpp:31123: error: undefined reference to 'EnumerateVideoFormats' O:\recherche\unity\projets\Pixi_AR_App\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Assembly-CSharp_4.cpp:31123: error: undefined reference to 'EnumerateVideoFormats' clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(HashSet`1 objectFiles, CppToolChainContext toolChainContext) at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics) at il2cpp.Program.DoRun(String[] args) at il2cpp.Program.Run(String[] args) at il2cpp.Program.Main(String[] args) stderr:
Unhandled Exception: Unity.IL2CPP.Building.BuilderFailedException: C:\NDK\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @"C:\Users\rbathalon\AppData\Local\Temp\tmpF553.tmp" -o "O:\recherche\unity\projets\Pixi_AR_App\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_8A89C9546EC81DF653E3D4955D3B3873\libil2cpp.so" -shared -Wl,-soname,libil2cpp.so -Wl,--no-undefined -Wl,-z,noexecstack -Wl,--gc-sections -Wl,--build-id --sysroot "C:\NDK\platforms\android-16\arch-arm" -gcc-toolchain "C:\NDK\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64" -target armv7-none-linux-androideabi -Wl,--wrap,sigaction -L "C:\NDK\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a" -lgnustl_static -llog -rdynamic -fuse-ld=gold.exe
O:\recherche\unity\projets\Pixi_AR_App\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Assembly-CSharp_4.cpp:31123: error: undefined reference to 'EnumerateVideoFormats' O:\recherche\unity\projets\Pixi_AR_App\Temp\StagingArea\Il2Cpp\il2cppOutput/Bulk_Assembly-CSharp_4.cpp:31123: error: undefined reference to 'EnumerateVideoFormats' clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
at Unity.IL2CPP.Building.CppProgramBuilder.PostprocessObjectFiles(HashSet`1 objectFiles, CppToolChainContext toolChainContext) at Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics) at il2cpp.Program.DoRun(String[] args) at il2cpp.Program.Run(String[] args) at il2cpp.Program.Main(String[] args)
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) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Exception: C:\Program Files\Unity\Hub\Editor\2018.3.14f1\Editor\Data\il2cpp/build/il2cpp.exe did not run properly! UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:130) UnityEditorInternal.Runner.RunManagedProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action`1[T] setupStartInfo) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73) UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List`1[T] arguments, System.Action`1[T] setupStartInfo, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:368) UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (System.String inputDirectory, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) (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 (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action`1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:35) UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at :0) 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) (at :0) UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at :0) 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) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:286) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
Answer by JoshPeterson · Oct 23, 2019 at 12:44 PM
It looks like the problem is with the extern EnumerateVideoFormats method. This method must have a native library implementation. If it does, please make sure that library is in the build for Android ARM64. If it should not, please use #if statements in the C# code to avoid building it for Android. See https://docs.unity3d.com/Manual/PlatformDependentCompilation.html for details.
Thanks to you I was able to pinpoint my problem and it lead me to this post: Android il2cpp build failt
I did what the post said there and my problem was resolved.
Your answer
Follow this Question
Related Questions
icl2pp not building correctly for android.,IL2cpp not building correctly for android. Mono worked. 1 Answer
I am getting compile error with il2cpp for android (Unity 5.2.2p3) 3 Answers
Android IL2CPP compile error for Unity 5.4.0f3 2 Answers
Failed running il2cpp.exe --platform="Android" --architecture="x86" 1 Answer
black screen and froze UI in android AR app with scripting backend il2cpp build 0 Answers