我的python程序在使用ctypes庫調用C++程序創建的dll時,會產生如下錯誤:
OSError: [WinError 126] 找不到指定的模塊
經百度后發現,引起此類問題的主要原因有二:
(1)沒有找到該DLL文件,路徑不對或者被殺毒軟件隔離;
(2)你的DLL動態庫依賴於其他其他DLL動態庫無法被系統找到。在Python里面載入dll時,如果這個dll還依賴於其它的dll的話,這些相關的dll也得要能被Python的進程訪問到。
解決方法:
對於原因一,可以把文件路徑改為絕對路徑;把殺毒軟件關閉重新操作。
對於原因二,最基本的解決方式是把相關的DLL 動態庫也導進來,這樣問題基本就能解決。如果無法確定相關DLL 動態庫,引起這類問題的原因很可能是由於你的目標主機沒有安裝相關的C++環境。解決方法:下載Visual C++ Redistributable運行庫,64位版本下載地址為 https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48145
最終,下載這個運行庫后問題完美解決。
