VS生成DLL沒有生成LIB檔案的解決方法

2021-09-05 01:35:29 字數 970 閱讀 5545

1、在所建工程上單擊滑鼠右鍵,在彈出的右鍵選單中選擇「新增-->新建項....---->模組定義檔案」,在該模組定義檔案中寫匯出函式表,單擊確定。然後在所建工程上單擊滑鼠右鍵,選擇「屬性」選單,在彈出的屬性對話方塊中「鏈結器-->輸入-->模組定義檔案」中填寫剛才定義的def檔案,然後再重新編譯即可生成lib檔案。

2、新建->win32專案->->dll->->匯出符號(這樣的話vs會自動幫你生產一些檔案,然後自己可以在這個的基礎上修改下)

生成好了後會在相應的目錄下出現lib和dll兩個檔案。

使用的時候把lib和dll以及h檔案匯出就可以了。

其它工程中使用的時候用下面兩種方式:

#pragma comment (lib,"mydll.lib")

或者:hinstance hinstlibrary = loadlibrary(_t("mydll.dll"));//注意此處必須有_t()函式。

if (hinstlibrary == null)     

{     

freelibrary(hinstlibrary); 

cout<<"loadlibrary error!"如果在新建dll的時候選擇空白的檔案(即不用vs自帶的幫你生成)的話,注意一定要自己手動新增def檔案。否則生成不了lib檔案!

visual c++ 開發工具提供了兩個命令列工具,乙個是dumpbin.exe,另乙個是lib.exe。利用這兩個工具即可從dll匯出其對應的lib。 

1、在命令列執行: 

dumpbin /exports yourdll.dll > yourdll.def 

2、編輯 yourdll.def 檔案,使之格式與.def檔案格式一致。比如: 

exports; 

fn1; 

fn2; 

3、在命令列執行: 

lib /def:yourdll.def /machine:i386 /out:yourdll.lib

引用:

VS生成DLL沒有生成LIB檔案的解決方法

1 在所建工程上單擊滑鼠右鍵,在彈出的右鍵選單中選擇 新增 新建項.模組定義檔案 在該模組定義檔案中寫匯出函式表,單擊確定。然後在所建工程上單擊滑鼠右鍵,選擇 屬性 選單,在彈出的屬性對話方塊中 鏈結器 輸入 模組定義檔案 中填寫剛才定義的def檔案,然後再重新編譯即可生成lib檔案。2 新建 wi...

一次DLL工程只有dll,沒有生成lib的回溯

近日對岸瞎鬧擾民添堵。深圳灣檢閱震懾宵小之輩。工作還得繼續,這不整合別人提供的乙個dll專案也懵了一下。配置好環境後編譯,竟然沒有生成dll對應的匯入lib 便於別的專案引用開發 我們知道 網上資料 要對vc的動態庫專案支援匯出不外乎2種方式。回顧一下 1 方式一 在匯出的標頭檔案中使用 decls...

利用VS生成 lib及 dll檔案

lib檔案稱作靜態鏈結庫,dll檔案稱作動態鏈結庫。linux系統下對應的檔案為.a檔案及.so檔案。比較這兩種方式,顯然動態鏈結更靈活。如果發布的程式需要更新庫里的內容,只需要更新對應的dll檔案即可,而對其他檔案不需要做修改。相反靜態鏈結方式需要更新整個.exe程式,而且會使得.exe檔案體積龐...