先说结论,关闭了XMP解决了Unity构建WebGL失败的问题,但我没有理解原因。
昨晚尝试在公司的电脑上使用Unity 6000.0.40f1 上构建一个WebGL应用失败。
出现错误
1
2
3
4
5
| C:\Users\***\UnityProject\***>set MYDIR=C:\Program Files\Unity\Hub\Editor\6000.0.40f1\Editor\Data\PlaybackEngines\WebGLSupport\BuildTools\Emscripten\emscripten\
C:\Users\***\UnityProject\***>goto FOUND_MYDIR emcc: error: '"C:/Program Files/Unity/Hub/Editor/6000.0.40f1/Editor/Data/PlaybackEngines/WebGLSupport/BuildTools/Emscripten/binaryen\bin\wasm-opt" --strip-dwarf --signext-lowering --post-emscripten -O2 --low-memory-unused --zero-filled-memory --pass-arg=directize-initial-contents-immutable --strip-debug --strip-producers Library/Bee/artifacts/WebGL/build/debug_WebGL_wasm/build.wasm -o Library/Bee/artifacts/WebGL/build/debug_WebGL_wasm/build.wasm --mvp-features --enable-mutable-globals --enable-sign-ext' failed (returned 3221225477) UnityEditor.
EditorApplication:Internal_CallDelayFunctions ()
|
很奇怪,记得之前是可以正常构建WebGL app的。
不想思考,将报错信息交给ChatGPT。
根据ai反馈的可能原因逐一进行排查。
删除缓存重试
删除项目下Library目录整体,重启Unity重新生成,没用。
杀毒软件防护/干扰
这点排除,我的工作电脑只有windows defender。
重装 WebGL Support Build
这个我不想试,众所周知,UnityHub删除某一个组件非常麻烦,
并且之前可以正常工作,这个问题可能性不高,先排除。
重装修复VC++库
vc库很全,并且之前可以正常工作,这个问题可能性不高,先排除。
CPU/内存不稳定
诶呦,这个有意思。
虽然我不是13/14代酷睿,但和巧合的是,在出现这个问题前,我确实在BIOS中开启了自动XMP。
我的工作电脑出现了问题,做了一点简单的处理。修复之后,我进行了被恢复到默认的BIOS设置,在重新开启了处理器虚拟化之后,我顺手打开了XMP。
这下好了,难道是我开启XMP导致的?
直接重启电脑尝试处理,在BIOS中关闭XMP(顺便一提,这老华硕主板BIOS做的不错,XMP不用进高级选项就可以设置,开启就可以自动设置频率、电压等),保存,重启。
重新启动Unity,直接点击构建。
五分钟后…
成了!
我不懂但我大受震撼.png
就这样吧,没察觉到关掉或开启XMP对我的开发的影响,就这样一直关着吧,等我有机会了解“真相”再说吧😂。