我有一個使用libcurl.dll
(在運行時動態鏈接)的Visual Studio 2008項目。我想將libcurl.dll
更新到更新的版本。我手動更換了文件系統中的dll,清理並構建瞭解決方案。但在調試過程中,該項目無法找到libcurl.dll
在Visual Studio中替換依賴項DLL
編輯:新的DLL是用libssh2的附加依賴項構建的。爲了使用新的DLL,我應該做什麼修改?
什麼是在Visual Studio 2008中升級DLL的正確方法?
我有一個使用libcurl.dll
(在運行時動態鏈接)的Visual Studio 2008項目。我想將libcurl.dll
更新到更新的版本。我手動更換了文件系統中的dll,清理並構建瞭解決方案。但在調試過程中,該項目無法找到libcurl.dll
在Visual Studio中替換依賴項DLL
編輯:新的DLL是用libssh2的附加依賴項構建的。爲了使用新的DLL,我應該做什麼修改?
什麼是在Visual Studio 2008中升級DLL的正確方法?
DllMain
返回失敗。DLLs以與可執行文件相同的方式加載。它們應該位於相同的目錄中,或者應該可以通過%PATH%進行訪問。
按照這些原則,VS會找到它。很有可能你搞砸了別的東西。
當你替換DLL時,不需要重建。
當你buid,使用頭文件和.lib文件。如果你的新DLL有相同的條目,那麼你可以簡單地替換正確的DLL文件並重啓應用程序。
如果你的新DLL有不同的條目或不同類型的參數,那麼你需要新的頭文件,新的.lib文件,然後你需要重新編譯。
謝謝。我會修改這個問題。新的DLL是使用不同類型的參數構建的。新的DLL已經建立與libssh2的依賴關係。我需要做什麼才能使其發揮作用? – 2014-10-18 07:36:08
很難從可用的信息中確切地說出發生了什麼。使用其他答案的建議。您也可以嘗試:將您的exe文件和所有必需的DLL放到一個目錄中並嘗試運行。這可能有助於將DLL搜索方面與其他問題(如DllMain返回碼)隔離開來。 – 2014-10-18 16:17:40
你說得對。我嘗試使用Dependency Walker,事實證明,我必須放置依賴的DLL。謝謝! – 2014-10-18 16:31:30
謝謝。依賴DLL是由libssh2的附加依賴構建的。我會更新這個問題來包含這一點。需要做些什麼才能使其發揮作用? – 2014-10-18 07:39:07