IL2CPP error when i make Android build,Error during building native library with il2cpp

I am Getting this error shown below while building android build of my project. Any Help will be appreciated

Exception: C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\il2cpp/build/deploy/netcoreapp3.0/il2cpp.exe did not run properly!

Failed running “C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\il2cpp/build/deploy/netcoreapp3.0/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:\unityBackUP\XproV1BackUp\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so” --cachedirectory=“D:\unityBackUP\XproV1BackUp\Assets..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache” --additional-include-directories=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\bdwgc/include” --additional-include-directories=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\libil2cpp/include” --baselib-directory=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/PlaybackEngines/AndroidPlayer\Variations\il2cpp\Release\StaticLibs\armeabi-v7a” --avoid-dynamic-library-copy --tool-chain-path=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK” --profiler-report --map-file-parser=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/Tools/MapFileParser/MapFileParser.exe” --directory=D:/unityBackUP/XproV1BackUp/Temp/StagingArea/assets/bin/Data/Managed --generatedcppdir=D:/unityBackUP/XproV1BackUp/Temp/StagingArea/Il2Cpp/il2cppOutput

stdout:
Running il2cpp.exe in server GC mode.
Building libil2cpp.so with AndroidToolChain
Output directory: D:\unityBackUP\XproV1BackUp\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a
Cache directory: D:\unityBackUP\XproV1BackUp\Library\il2cpp_android_armeabi-v7a\il2cpp_cache
ObjectFiles: 260 of which compiled: 0
Total compilation time: 327 milliseconds.
il2cpp.exe didn’t catch exception: Unity.IL2CPP.Building.BuilderFailedException: C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK oolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @“C:\Users\GreenApex\AppData\Local\Temp mp52BB.tmp” -o “D:\unityBackUP\XproV1BackUp\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_DF45FC8352DDE9497DA04A3DFE7E30B2\libil2cpp.so” -shared -Wl,-soname,libil2cpp.so -Wl,–no-undefined -Wl,-z,noexecstack -Wl,–gc-sections -Wl,–build-id -stdlib=libc++ -static-libstdc++ -target armv7-linux-androideabi19 -Wl,–wrap,sigaction “C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\StaticLibs\armeabi-v7a\baselib.a” -llog -rdynamic -fuse-ld=gold.exe

D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:17472: error: undefined reference to ‘openWindow’
D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:18583: error: undefined reference to ‘ShowWebinar’
D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:18583: error: undefined reference to ‘ShowWebinar’
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.Compilation.CompilationDriver.Run(RuntimePlatform platform, BuildingOptions buildingOptions)
at il2cpp.Program.DoRun(String args, RuntimePlatform platform, BuildingOptions buildingOptions)
at il2cpp.Program.Run(String args, Boolean setInvariantCulture)
at il2cpp.Program.Main(String args)
stderr:
Unhandled exception. Unity.IL2CPP.Building.BuilderFailedException: C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK oolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @“C:\Users\GreenApex\AppData\Local\Temp mp52BB.tmp” -o “D:\unityBackUP\XproV1BackUp\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_DF45FC8352DDE9497DA04A3DFE7E30B2\libil2cpp.so” -shared -Wl,-soname,libil2cpp.so -Wl,–no-undefined -Wl,-z,noexecstack -Wl,–gc-sections -Wl,–build-id -stdlib=libc++ -static-libstdc++ -target armv7-linux-androideabi19 -Wl,–wrap,sigaction “C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\StaticLibs\armeabi-v7a\baselib.a” -llog -rdynamic -fuse-ld=gold.exe

D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:17472: error: undefined reference to ‘openWindow’
D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:18583: error: undefined reference to ‘ShowWebinar’
D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:18583: error: undefined reference to ‘ShowWebinar’
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.Compilation.CompilationDriver.Run(RuntimePlatform platform, BuildingOptions buildingOptions)
at il2cpp.Program.DoRun(String args, RuntimePlatform platform, BuildingOptions buildingOptions)
at il2cpp.Program.Run(String args, Boolean setInvariantCulture)
at il2cpp.Program.Main(String args)

UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at <9ddd600ae5964fe0b21a870e08c53748>:0)
UnityEditorInternal.Runner.RunNetCoreProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action1[T] setupStartInfo) (at <9ddd600ae5964fe0b21a870e08c53748>:0) UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List1[T] arguments, System.Action1[T] setupStartInfo, System.String workingDirectory) (at <9ddd600ae5964fe0b21a870e08c53748>:0) UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (UnityEditor.Il2Cpp.Il2CppBuildPipelineData data, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) (at <9ddd600ae5964fe0b21a870e08c53748>:0) UnityEditorInternal.IL2CPPBuilder.Run () (at <9ddd600ae5964fe0b21a870e08c53748>:0) UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at <9ddd600ae5964fe0b21a870e08c53748>:0)
UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <5f8140421e7d41ada100b629c3033aa7>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <5f8140421e7d41ada100b629c3033aa7>: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 <5f8140421e7d41ada100b629c3033aa7>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <5f8140421e7d41ada100b629c3033aa7>: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 <9ddd600ae5964fe0b21a870e08c53748>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
,I am Getting this error shown below while building android build of my project. Any Help will be appreciated

Exception: C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\il2cpp/build/deploy/netcoreapp3.0/il2cpp.exe did not run properly!

Failed running “C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\il2cpp/build/deploy/netcoreapp3.0/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:\unityBackUP\XproV1BackUp\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a\libil2cpp.so” --cachedirectory=“D:\unityBackUP\XproV1BackUp\Assets..\Library\il2cpp_android_armeabi-v7a/il2cpp_cache” --additional-include-directories=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\bdwgc/include” --additional-include-directories=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\libil2cpp/include” --baselib-directory=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/PlaybackEngines/AndroidPlayer\Variations\il2cpp\Release\StaticLibs\armeabi-v7a” --avoid-dynamic-library-copy --tool-chain-path=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK” --profiler-report --map-file-parser=“C:/Program Files/Unity/Hub/Editor/2020.1.8f1/Editor/Data/Tools/MapFileParser/MapFileParser.exe” --directory=D:/unityBackUP/XproV1BackUp/Temp/StagingArea/assets/bin/Data/Managed --generatedcppdir=D:/unityBackUP/XproV1BackUp/Temp/StagingArea/Il2Cpp/il2cppOutput

stdout:
Running il2cpp.exe in server GC mode.
Building libil2cpp.so with AndroidToolChain
Output directory: D:\unityBackUP\XproV1BackUp\Temp\StagingArea\assets\bin\Data\Native\armeabi-v7a
Cache directory: D:\unityBackUP\XproV1BackUp\Library\il2cpp_android_armeabi-v7a\il2cpp_cache
ObjectFiles: 260 of which compiled: 0
Total compilation time: 327 milliseconds.
il2cpp.exe didn’t catch exception: Unity.IL2CPP.Building.BuilderFailedException: C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK oolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @“C:\Users\GreenApex\AppData\Local\Temp mp52BB.tmp” -o “D:\unityBackUP\XproV1BackUp\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_DF45FC8352DDE9497DA04A3DFE7E30B2\libil2cpp.so” -shared -Wl,-soname,libil2cpp.so -Wl,–no-undefined -Wl,-z,noexecstack -Wl,–gc-sections -Wl,–build-id -stdlib=libc++ -static-libstdc++ -target armv7-linux-androideabi19 -Wl,–wrap,sigaction “C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\StaticLibs\armeabi-v7a\baselib.a” -llog -rdynamic -fuse-ld=gold.exe

D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:17472: error: undefined reference to ‘openWindow’
D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:18583: error: undefined reference to ‘ShowWebinar’
D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:18583: error: undefined reference to ‘ShowWebinar’
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.Compilation.CompilationDriver.Run(RuntimePlatform platform, BuildingOptions buildingOptions)
at il2cpp.Program.DoRun(String args, RuntimePlatform platform, BuildingOptions buildingOptions)
at il2cpp.Program.Run(String args, Boolean setInvariantCulture)
at il2cpp.Program.Main(String args)
stderr:
Unhandled exception. Unity.IL2CPP.Building.BuilderFailedException: C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK oolchains\llvm\prebuilt\windows-x86_64\bin\clang++ @“C:\Users\GreenApex\AppData\Local\Temp mp52BB.tmp” -o “D:\unityBackUP\XproV1BackUp\Library\il2cpp_android_armeabi-v7a\il2cpp_cache\linkresult_DF45FC8352DDE9497DA04A3DFE7E30B2\libil2cpp.so” -shared -Wl,-soname,libil2cpp.so -Wl,–no-undefined -Wl,-z,noexecstack -Wl,–gc-sections -Wl,–build-id -stdlib=libc++ -static-libstdc++ -target armv7-linux-androideabi19 -Wl,–wrap,sigaction “C:\Program Files\Unity\Hub\Editor\2020.1.8f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\StaticLibs\armeabi-v7a\baselib.a” -llog -rdynamic -fuse-ld=gold.exe

D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:17472: error: undefined reference to ‘openWindow’
D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:18583: error: undefined reference to ‘ShowWebinar’
D:\unityBackUP\XproV1BackUp\Temp\StagingArea\Il2Cpp\il2cppOutput/Assembly-CSharp.cpp:18583: error: undefined reference to ‘ShowWebinar’
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.Compilation.CompilationDriver.Run(RuntimePlatform platform, BuildingOptions buildingOptions)
at il2cpp.Program.DoRun(String args, RuntimePlatform platform, BuildingOptions buildingOptions)
at il2cpp.Program.Run(String args, Boolean setInvariantCulture)
at il2cpp.Program.Main(String args)

UnityEditorInternal.Runner.RunProgram (UnityEditor.Utils.Program p, System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser) (at <9ddd600ae5964fe0b21a870e08c53748>:0)
UnityEditorInternal.Runner.RunNetCoreProgram (System.String exe, System.String args, System.String workingDirectory, UnityEditor.Scripting.Compilers.CompilerOutputParserBase parser, System.Action1[T] setupStartInfo) (at <9ddd600ae5964fe0b21a870e08c53748>:0) UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List1[T] arguments, System.Action1[T] setupStartInfo, System.String workingDirectory) (at <9ddd600ae5964fe0b21a870e08c53748>:0) UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (UnityEditor.Il2Cpp.Il2CppBuildPipelineData data, System.String outputDirectory, System.String workingDirectory, System.Boolean platformSupportsManagedDebugging) (at <9ddd600ae5964fe0b21a870e08c53748>:0) UnityEditorInternal.IL2CPPBuilder.Run () (at <9ddd600ae5964fe0b21a870e08c53748>:0) UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String tempFolder, System.String stagingAreaData, UnityEditorInternal.IIl2CppPlatformProvider platformProvider, System.Action1[T] modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry) (at <9ddd600ae5964fe0b21a870e08c53748>:0)
UnityEditor.Android.PostProcessor.Tasks.RunIl2Cpp.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <5f8140421e7d41ada100b629c3033aa7>:0)
UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <5f8140421e7d41ada100b629c3033aa7>: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 <5f8140421e7d41ada100b629c3033aa7>:0)
UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <5f8140421e7d41ada100b629c3033aa7>: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 <9ddd600ae5964fe0b21a870e08c53748>:0)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)

This failure occurs because the code in the project has extern methods in C#. Methods marked as extern with a the [Dllimport(“__Internal”)] attribute must be present in a native library that is linked with the Unity player when building with the IL2CPP scripting backend.

For example, this in this project one function which causes this issue is named: openWindow

You have two options:

  1. Build a native library with all of the methods marked as extern with the [Dllimport(“__Internal”)] attribute for the target platform and architecture of the player. See this documentation for details about native plugins: Unity - Manual: Native plug-ins

  2. Remove the C# code which defines this extern method. You can do that with platform dependent compilation: Unity - Manual: Conditional Compilation

Thank you.
This is exactly my case.
In a scene, that is NOT included in the “Scenes In Build” list in the “Build Settings”.
In that scene, I have [Dllimport(“__Internal”)] code in a script.
It’s a js test helper class that gets the js function to print “Hello world”, in my project.
Apparently just having it in my code base was problematic.

:heart:

I added the #if UNITY_WEBGL tags in and it built fine.