2013-10-04 120 views
-1

我有3個DLL文件和3個相應的導入庫在MINGW生成。我已經使用LINK將這3個DLL鏈接到一個DLL(例如main.dll)中。如果我使用dependency walker單獨打開這3個dll,則不會顯示錯誤。如果我打開main.dll我得到依賴性問題,並得到以下錯誤: 錯誤:至少有一個模塊有一個未解決的導入由於在隱式依賴模塊中缺少導出功能。鏈接mingw DLL與Windows DLL

感謝, 馬諾

+0

您可以提供更多詳細信息如何將3個導入庫鏈接到一個?你的意思是說main.dll依賴於這3個dll,或者你將這3個dll代碼混合在一個更大的dll中? – Vitaliy

+0

我有one.dll,two.dll和three.dll以及相應的one.lib,two.lib和three.lib。我鏈接這三個DLL的產生main.dll使用鏈接命令(例如:鏈接one.lib two.lib three.lib main.o /out:main.dll) – user2841186

回答

1

自己解決:我得到了解決上述問題的方案。在鏈接dll之前,我們必須生成.def文件,然後鏈接導入庫。它爲我工作。該鏈接提供瞭解決方案:mingw.org/wiki/MSVC_and_MinGW_DLLs

0

嗯,你只是鏈接的導入庫一起。現在鏈接實際的DLL。無論如何,這是行不通的:這三個DLL各有自己的DllMain。你認爲LINK將如何在它們之間進行選擇?

+0

我得到了解決上述問題的解決方案。在鏈接dll之前,我們必須生成.def文件,然後鏈接導入庫。它爲我工作。該鏈接提供瞭解決方案:http://www.mingw.org/wiki/MSVC_and_MinGW_DLLs – user2841186