unity build webGL失败,Build error with IL2CPP 解决办法

来源:互联网 发布:万达电商 网络没说过 编辑:程序博客网 时间:2024/06/04 19:57

使用unity将项目导出为webGL时,building native binary with IL2CPP的时候出错
版本为Unity 2017.1.0f3 (64-bit)
系统为win7,64位
推测是由于win7,64位系统原因造成

官方在2017.8.11修复了这个BUG。
移步这里下载2017.1.p3版本即可。


错误代码主要包括
il2cpp.exe did not run properly!

自己的错误代码没保留,复制了一下官方论坛帖子内的,类似这样:

Failed running F:\programs\unity_2017_1_0f3\Unity\Editor\Data\il2cpp/build/il2cpp.exe –convert-to-cpp –compile-cpp –libil2cpp-static –platform=”WebGL” –architecture=”EmscriptenJavaScript” –configuration=”Release” –outputpath=”D:\unityWebTest\unityWeb\Assets /../Temp/StagingArea/Data\Native\build.bc” –cachedirectory=”D:\unityWebTest\unityWeb\Assets..\Library/il2cpp_cache” –compiler-flags=”-Oz -DIL2CPP_EXCEPTION_DISABLED=1 ” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_AIModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_AnimationModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_AudioModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_BaselibModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_ClothModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_CloudWebServicesModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_CoreModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_CrashReportingModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_DirectorModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_FacebookModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_GameCenterModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_ImageConversionModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_IMGUIModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_InputModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_JSONSerializeModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_ParticlesLegacyModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_ParticleSystemModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_PerformanceReportingModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_Physics2DModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_PhysicsModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_ScreenCaptureModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_SpriteMaskModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_StyleSheetsModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_TerrainModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_TerrainPhysicsModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_TextRenderingModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_TimelineModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UIElementsModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UIModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UmbraModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UNETModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UnityAnalyticsModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UnityConnectModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UnityWebRequestAudioModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UnityWebRequestModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UnityWebRequestTextureModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_UnityWebRequestWWWModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_VehiclesModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_VideoModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_VRModule_Dynamic.bc” –additional-libraries=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\lib\modules\WebGLSupport_WebModule_Dynamic.bc” –map-file-parser=”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\Tools\MapFileParser\MapFileParser.exe” –assembly=”D:\unityWebTest\unityWeb\Temp\StagingArea\Data\Managed\UnityEngine.dll” –generatedcppdir=”D:\unityWebTest\unityWeb\Temp\StagingArea\Data\il2cppOutput”

stdout:
Building build.bc with EmscriptenToolChain.
Output directory: D:\unityWebTest\unityWeb\Temp\StagingArea\Data\Native
Cache directory: D:\unityWebTest\unityWeb\Library\il2cpp_cache
il2cpp.exe didn’t catch exception: Unity.IL2CPP.Building.BuilderFailedException: INFO:root:Checking JS engine [‘F:/programs/unity_2017_1_0f3/Unity/Editor/Data\Tools\nodejs\node.exe’, ‘–stack_size=8192’, ‘–max-old-space-size=2048’] failed. Check your config file. Details: Expected the command [‘F:/programs/unity_2017_1_0f3/Unity/Editor/Data\Tools\nodejs\node.exe’, ‘–stack_size=8192’, ‘–max-old-space-size=2048’, ‘F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\src\hello_world.js’] to finish with return code 0, but it returned with code -1073741819 instead! Output:
WARNING:root:did not see a source tree above or next to the LLVM root directory (guessing based on directory of F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_FastComp_Win\llc), could not verify version numbers match
INFO:root:(Emscripten: Running sanity checks)
CRITICAL:root:The JavaScript shell used for compiling ([‘F:/programs/unity_2017_1_0f3/Unity/Editor/Data\Tools\nodejs\node.exe’, ‘–stack_size=8192’, ‘–max-old-space-size=2048’]) does not seem to work, check the paths in F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\emscripten.config

Invocation was: Executable: “F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_Win\python\2.7.5.3_64bit\python.exe”
Arguments: “F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\em++” -Wno-unused-value -Wno-invalid-offsetof -nostdinc -fno-strict-overflow -std=c++11 -Oz -DIL2CPP_EXCEPTION_DISABLED=1 -DRUNTIME_IL2CPP -DNDEBUG -I”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\il2cpp\libil2cpp” -I”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\il2cpp\external\boehmgc\include” -I”D:\unityWebTest\unityWeb\Temp\StagingArea\Data\il2cppOutput” “D:\unityWebTest\unityWeb\Temp\StagingArea\Data\il2cppOutput\Bulk_mscorlib_6.cpp” -o “D:\unityWebTest\unityWeb\Library\il2cpp_cache\CC4C5E89B74DE3F134F2B8A1FB19ACCB.o”

�� Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)
�� Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
�� Unity.IL2CPP.Building.Statistics.BuildingTestRunnerHelper.BuildAndLogStatsForTestRunner(CppProgramBuilder builder, IBuildStatistics& statistics)
�� il2cpp.Program.DoRun(String[] args)
�� il2cpp.Program.Run(String[] args)
�� il2cpp.Program.Main(String[] args)
stderr:

δ���������쳣: Unity.IL2CPP.Building.BuilderFailedException: INFO:root:Checking JS engine [‘F:/programs/unity_2017_1_0f3/Unity/Editor/Data\Tools\nodejs\node.exe’, ‘–stack_size=8192’, ‘–max-old-space-size=2048’] failed. Check your config file. Details: Expected the command [‘F:/programs/unity_2017_1_0f3/Unity/Editor/Data\Tools\nodejs\node.exe’, ‘–stack_size=8192’, ‘–max-old-space-size=2048’, ‘F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\src\hello_world.js’] to finish with return code 0, but it returned with code -1073741819 instead! Output:
WARNING:root:did not see a source tree above or next to the LLVM root directory (guessing based on directory of F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_FastComp_Win\llc), could not verify version numbers match
INFO:root:(Emscripten: Running sanity checks)
CRITICAL:root:The JavaScript shell used for compiling ([‘F:/programs/unity_2017_1_0f3/Unity/Editor/Data\Tools\nodejs\node.exe’, ‘–stack_size=8192’, ‘–max-old-space-size=2048’]) does not seem to work, check the paths in F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\emscripten.config

Invocation was: Executable: “F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten_Win\python\2.7.5.3_64bit\python.exe”
Arguments: “F:\programs\unity_2017_1_0f3\Unity\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\em++” -Wno-unused-value -Wno-invalid-offsetof -nostdinc -fno-strict-overflow -std=c++11 -Oz -DIL2CPP_EXCEPTION_DISABLED=1 -DRUNTIME_IL2CPP -DNDEBUG -I”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\il2cpp\libil2cpp” -I”F:\programs\unity_2017_1_0f3\Unity\Editor\Data\il2cpp\external\boehmgc\include” -I”D:\unityWebTest\unityWeb\Temp\StagingArea\Data\il2cppOutput” “D:\unityWebTest\unityWeb\Temp\StagingArea\Data\il2cppOutput\Bulk_mscorlib_6.cpp” -o “D:\unityWebTest\unityWeb\Library\il2cpp_cache\CC4C5E89B74DE3F134F2B8A1FB19ACCB.o”

�� Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)
�� Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
�� Unity.IL2CPP.Building.Statistics.BuildingTestRunnerHelper.BuildAndLogStatsForTestRunner(CppProgramBuilder builder, IBuildStatistics& statistics)
�� il2cpp.Program.DoRun(String[] args)
�� il2cpp.Program.Run(String[] args)
�� 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, Action1) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.IL2CPPBuilder:RunIl2CppWithArguments(List
1, Action1, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:324)
UnityEditorInternal.IL2CPPBuilder:ConvertPlayerDlltoCpp(ICollection
1, String, String) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:305)
UnityEditorInternal.IL2CPPBuilder:Run() (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:151)
UnityEditorInternal.IL2CPPUtils:RunIl2Cpp(String, IIl2CppPlatformProvider, Action1, RuntimeClassRegistry, Boolean) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:41)
UnityEditor.HostView:OnGUI()
Exception: F:\programs\unity_2017_1_0f3\Unity\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 setupStartInfo) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/BuildUtils.cs:73)
UnityEditorInternal.IL2CPPBuilder.RunIl2CppWithArguments (System.Collections.Generic.List1 arguments, System.Action1 setupStartInfo, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:324)
UnityEditorInternal.IL2CPPBuilder.ConvertPlayerDlltoCpp (ICollection1 userAssemblies, System.String outputDirectory, System.String workingDirectory) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:305)
UnityEditorInternal.IL2CPPBuilder.Run () (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:151)
UnityEditorInternal.IL2CPPUtils.RunIl2Cpp (System.String stagingAreaData, IIl2CppPlatformProvider platformProvider, System.Action
1 modifyOutputBeforeCompile, UnityEditor.RuntimeClassRegistry runtimeClassRegistry, Boolean debugBuild) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/Il2Cpp/IL2CPPUtils.cs:41)
UnityEditor.WebGL.WebGlBuildPostprocessor.CompileBuild (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:340)
UnityEditor.WebGL.WebGlBuildPostprocessor.PostProcess (BuildPostProcessArgs args) (at /Users/builduser/buildslave/unity/build/PlatformDependent/WebGL/Extensions/Unity.WebGL.extensions/BuildPostprocessor.cs:873)
UnityEditor.PostprocessBuildPlayer.Postprocess (BuildTargetGroup targetGroup, BuildTarget target, System.String installPath, System.String companyName, System.String productName, Int32 width, Int32 height, BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.BuildReporting.BuildReport report) (at C:/buildslave/unity/build/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:263)
UnityEditor.HostView:OnGUI()
UnityEditor.BuildPlayerWindow+BuildMethodException: Build failed with errors.
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x001b9] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:162
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:83
UnityEditor.HostView:OnGUI()