程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 異常- 無法加載 DLL“xxx.dll”: 找不到指定的模塊。

異常- 無法加載 DLL“xxx.dll”: 找不到指定的模塊。

編輯:編程綜合問答
無法加載 DLL“xxx.dll”: 找不到指定的模塊。

我用C#寫了一個程序,隱式調用了三個dll,暫且叫A.dll/B.dll/C.dll吧。這三個dll都是自己寫的,使用的C++。其中B.dll中也調用了C.dll。現在的問題是在C#生成的exe中使用A.dll和C.dll都可以,但使用B.dll時卻出現了下圖的報錯。
圖片說明
1. 網上有說是路徑問題,我是把C#和三個dll的項目放在一個解決方案裡的,生成路徑都設置到了解決方案目錄裡的Debug目錄,所以在引用時都直接寫的dll名稱,路徑應該沒問題,因為A.dll和C.dll都可以調用。
2. 網上也有說是我調用的dll引用了其他的dll,我用depends這個工具打開exe看了一下,如下圖。首先,他沒有依賴我自己寫的這三個dll,這個很奇怪,然後提示我沒有那8個紅色的dll。我把這8個dll從網上下載了都放進exe所在的Debug文件夾下,再運行exe還是不行啊。
圖片說明
我看了很多網上這方面的資料,現在還是解決不了,請教大家這究竟應該怎麼解決?

最佳回答:


找到原因了,不是常見的路徑和依賴的問題,我仔細的看了一下我的B.dll的程序,發現我定義了一個結構體的指針,還沒有給這個指針分配內存的時候就用這個指針來引用結構體內的成員了。奇怪的是編譯器竟然沒報錯,而運行中出錯竟然提示的是找不到dll。吸取教訓,看來dll本身出錯了,也會提示這個找不到dll。也多謝各位前輩的指導,csdn真是個不錯的地方。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved