在vs2008中編寫dll如何生成lib檔案

2021-08-25 16:20:50 字數 1373 閱讀 7360

**:

if (a >= b) return b;

else return a;

}6 編譯程式

7 把生的 .lib檔案拷貝到另乙個工程(要呼叫的dll專案)的目錄下,把.dll檔案拷貝到另乙個工程(要呼叫的dll專案)的debug目錄下

8 另乙個專案的呼叫**如下:

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

extern "c"_declspec(dllimport) int min(int a,int b);

#include

int main()

int a;

a = min(8,10);

printf("比較的結果為%d",a);

return 0;

vs2008預設生成dll,但不生成lib檔案,方法有兩種

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

vs2008中呼叫matlab,採用dll的形式

本文參考了 matlab中選擇c 編譯器 mex setup matlab函式 function result matrix multiply a,b result a b end採用這個編譯 mcc c w cpplib lib matrix multiply t link lib matrix ...

在VS2008中配置QT

學了這麼多年的c 最近才開始研究qt。用了一段時間的wpf,覺得當年苦哈哈的學習mfc真是太傻了。用過openframeworks,覺得也還不錯,但是功能還是不夠強大,尤其在ui設計方面,所以現在開始學習qt,希望不會太晚。簡單介紹一下qt在vs2008中的配置。qt win opensource ...

VS2008匯出dll以及除錯

歡迎加入c 程式設計群 一 我們首先編譯生成我們的dll 1.1 檔案 新建 專案 選擇 win3 win32控制台應用程式 1.2 再點確定 下一步 選擇dll 空專案 1.3 完成後在本工程中新增add.cpp檔案 內容如下 extern c declspec dllexport int add...