1. 程式人生 > 實用技巧 >Unity WebGL打包釋出報錯

Unity WebGL打包釋出報錯

Unity WebGL打包釋出時在Building native binary with IL2CPP...報錯:

Failed running D:\DownloadApps\Unity\2019.4.8f1\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe --convert-to-cpp --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="WebGL" --architecture="EmscriptenJavaScript" --configuration="Release"

......
......

ObjectFiles: 217 of which compiled: 0
Total compilation time: 369 milliseconds.
Response file: C:\Users\���ܲ�\AppData\Local\Temp\_47191~1\response.rsp
Response file: C:\Users\���ܲ�\AppData\Local\Temp\_11604~1\response.rsp
il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException:

......
......

檢查過在編輯器裡能夠正常執行,專案路徑和打包路徑都沒有中文,但是上面報錯的地方出現了亂碼。

Project Settings>Player>Other Settings裡將Api Compatibility Level改成.Net 4.x,則報錯資訊變了:

Failed running D:\DownloadApps\Unity\2019.4.8f1\Editor\Data\il2cpp/build/deploy/net471/il2cpp.exe --convert-to-cpp --dotnetprofile="unityaot" --compile-cpp --libil2cpp-static --platform="WebGL" --architecture="EmscriptenJavaScript" --configuration="Release"

......
......

   �� Unity.IL2CPP.Building.CppProgramBuilder.BuildAllCppFiles(IEnumerable`1 sourceFilesToCompile, IBuildStatisticsCollector statisticsCollector)
   �� Unity.IL2CPP.Building.CppProgramBuilder.Build(IBuildStatistics& statistics)
   �� il2cpp.Program.DoRun(String[] args, List`1 foundAssemblies)
   �� il2cpp.Program.Run(String[] args, Boolean setInvariantCulture)
   �� il2cpp.Program.Main(String[] args)
stderr:

δ��������쳣:  Unity.IL2CPP.Building.BuilderFailedException: ???????????????��???��? Unicode ?????????????????
ERROR:root:Failed to run llvm optimizations: 

......
......

還是有亂碼,這是想到我的使用者名稱是中文的,之前也有過因為中文使用者名稱安裝不了軟體的情況。應該是在打包時用到了C盤的臨時路徑

Response file: C:\Users\���ܲ�\AppData\Local\Temp\_47191~1\response.rsp

裡面有中文使用者名稱

但是實際上不需要改使用者名稱(改了之後臨時資料夾也還是原來的使用者名稱),只需要把臨時資料夾路徑改掉就好了:

此計算機右鍵選擇屬性>高階系統設定>右下角環境變數>最後兩個使用者變數就是臨時資料夾路徑

TEMPTMP的變數值都修改為其他路徑,比如:C:\tmp

改好後要點右下角的確定後才會儲存,而且還要重啟,然後再打包就沒有報錯了。

注意臨時資料夾路徑平時最好還是改回去,否則用其他軟體可能會出錯,兩個臨時資料夾原路徑:

%USERPROFILE%\AppData\Local\Temp