溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

使用Unity3D時出現(xiàn)DllNotFoundException錯誤如何解決

發(fā)布時間:2021-04-13 15:33:27 來源:億速云 閱讀:559 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹使用Unity3D時出現(xiàn)DllNotFoundException錯誤如何解決,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

起因

unity程序build到pc上,拿到其他人的機(jī)器上結(jié)果有些功能不正常,看log里面大概是

Fallback handler could not load library: xxx.dll

DllNotFoundException: xxx.dll

初看以為是缺失dll,但是實際上并不是這樣,首先在很多人機(jī)器上都是沒有問題的,只在極少數(shù)機(jī)器上才出現(xiàn)異常,另外報錯的dll都是有的,并不存在缺失的問題。

后來網(wǎng)上搜了一下,看到http://answers.unity3d.com/questions/993154/failed-to-load-dll-error.html 中提到了

it only seems to happen with C++ DLLs that have dependencies that aren't already loaded.

好吧,這個理由很理想,就是unity的項目依賴了A.dll,而A.dll又依賴了B.dll,而B.dll缺失,導(dǎo)致load A.dll時異常,我覺得這是unity打包的坑~

那么主要原因就是大部分機(jī)器上都帶有A.dll,而少部分機(jī)器上缺失B.dll

解決

使用dll Dependency Walker這個軟件來查找dll所依賴的其他dll,就可以很容易的查到缺失的是哪個dll,把它加上就好

在我這個case中,使用了unity的easymovietexture插件來播放視頻,而easymovietexture依賴ffmpeg,其中一個dll依賴opencl.dll,大部分機(jī)器上都有這個dll,而少部分機(jī)器上是沒有這個dll,取而代之的是opencl32.dll和opencl64.dll,可能是dll的依賴兼容性之類的沒做好吧!

最終問題解決,欣慰~

補(bǔ)充:Unity3d使用dll時有些電腦會報DllNotFoundException錯誤 無法使用dll庫

unity3d開發(fā)過程中使用了外部動態(tài)鏈接庫dll,有些電腦運行工程時會報DllNotFoundException的錯誤,這是由于該dll中引用系統(tǒng)內(nèi)的dll不存在的原因。

使用Unity3D時出現(xiàn)DllNotFoundException錯誤如何解決

團(tuán)隊開發(fā)過程中所有人都可以 就是我自己的電腦不行,無論如何處理都不行,工程重新加載 ,平臺切換等全部不行 。

最后定位到電腦系統(tǒng)問題。

找到自己使用dll庫,

下載depends軟件,打開使用的dll庫

使用Unity3D時出現(xiàn)DllNotFoundException錯誤如何解決

如下圖 可以發(fā)現(xiàn)系統(tǒng)中缺少該dll,

使用Unity3D時出現(xiàn)DllNotFoundException錯誤如何解決

去網(wǎng)上下載該庫放入system32內(nèi)

使用Unity3D時出現(xiàn)DllNotFoundException錯誤如何解決

重新進(jìn)工程就可以了!

補(bǔ)充:unity 無法使用 dll 庫

出錯 :

Unhandled Exception: System.Reflection.ReflectionTypeLoadException: The classes in the module cannot be loaded.

關(guān)于使用Unity3D時出現(xiàn)DllNotFoundException錯誤如何解決就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI