[C++] 如何在Visual C ++中構建導入庫(.lib)和DLL?


Answers

你的DLL項目有沒有實際的出口? 如果沒有導出,鏈接器將不會生成導入庫.lib文件。

在VS的非Express版本中,在這裡的項目設置中指定了導入libray名稱:

Configuration Properties/Linker/Advanced/Import Library

我認為它在Express中是一樣的(如果它甚至提供配置名稱的能力)。

Question

我想有一個單一的Visual Studio項目,建立一個DLL文件和一個導入庫(.lib)文件。 (導入庫是一個靜態鏈接的庫,負責在使用它的其他項目中加載該DLL文件)。

所以我去了Visual Studio C ++ 2008速成版,創建了一個類型為Class Library的New Project,並將“Configuration Type”設置為“Dyanamic Library(.dll)”。

但是當我構建解決方案時,我看到的唯一相關的輸出文件是一個DLL文件; 我沒有看到任何LIB文件生成。 我查看了項目目錄和所有子目錄(Release和Debug)。

我相信可以同時構建一個LIB和一個DLL文件,因為在MSDN上它說“鏈接器在建立DLL時創建導入庫”。 此外, 本網站的另一個用戶正在使用Visual C ++同時創建LIB和DLL文件

那我該怎麼做呢?




你也應該在這裡的項目設置中指定def名字:

配置>屬性/輸入/高級/模塊>定義文件