異常
無法加載 DLL“xxx.dll”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。
背景及產(chǎn)生原因
C#中采用DLLImport靜態(tài)調(diào)用同事用C++寫的dll算法庫時,出現(xiàn)以下錯誤:
無法加載 DLL“xxx.dll”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。
解決方法
查閱資料得知這種情況一般有以下原因:
- dll生成的平臺(x64/x86/AnyCpu),與我們的工程的平臺不符合;
- 所引用的dll所在路徑不對,嘗試放在.exe所在目錄;
- 所引用的dll也引用了其他dll,但是在本次引入中并未引入。
首先,查看dll生成的平臺與我們的工程的平臺是否符合,不符合則選擇想要的平臺生成;
其次,可以嘗試將dll復(fù)制到.exe所在目錄,然后運行程序查看是否出現(xiàn)相同錯誤。
最后,如果還是不行的話,再使用VS自帶的dll查看工具dumpbin來查看該dll所引用了那些dll,具體過程如下:
- 打開VS自帶的交叉工具命令符
? 或者進(jìn)入打開cmd,進(jìn)入dumpbin.exe所在目錄,我的電腦中該目錄是
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64
?
- 輸入以下指令
dumpbin /dependents dll文件的路徑
文章來源:http://www.zghlxwxcb.cn/news/detail-782964.html
可以看到所引用的dll引用了這些opencv_world420.dll等dll,其中,除了opencv_world420.dll,其他dll都是系統(tǒng)自帶的dll,在Windows/System32目錄下,因此我們只需要opencv_world420.dll放在.exe所在目錄即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-782964.html
到了這里,關(guān)于【已解決】無法加載 DLL“xxx.dll”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!