[英]How to check that LIB import library fully match its DLL?
我有一個帶有其導入庫的DLL。 當我嘗試引用導入庫時,出現鏈接器錯誤,提示某些功能無法解決。 我認為DLL及其導入庫的版本不匹配。 有什么方法可以檢查導入庫是否完全匹配其DLL,而無需通過DumpBin手動檢查大量功能?
問題在於頭文件包含.lib文件中未定義的功能。 您很可能有一個新的頭文件和一個過時的.lib文件。
可能的解決方案:
當您鏈接二進制文件時,僅* .lib庫很重要(包括導入庫,但顯然不包括DLL)。 鏈接器甚至可能沒有意識到它是導入庫,而不是其他靜態庫。 也可以創建混合庫,其中某些函數靜態地貢獻給* .lib文件,而其他函數則從某些DLL導入。
您尚未解決的功能只是在* .lib庫(包括導入庫)中不存在。 如果您確實鏈接了導入庫,並且確定您的DLL導出了未解析的函數,則您的導入庫要么不匹配,要么被生成為不導出該函數(例如,這些函數可能未在DLL項目的* .def文件中列出) )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.