建立:
1.新建vc++->wndows桌面->動態鏈結庫專案
2.寫標頭檔案:(注意建構函式和析構函式都要寫在標頭檔案中)
#ifndef 頭檔名
#define 頭檔名
#endif//頭檔名
寫原始檔
3.原始檔->新增新項->**->模組定義檔案(.def)
library "dll專案名"
exports
函式名1 @1
函式名2 @2
函式名3 @3
函式名4 @4
4.右鍵dll專案->生成,在解決方案的(注意:不是專案的)debug目錄下會有.dll檔案和.lib檔案。
使用:1.右鍵需要使用dll的專案->屬性:
1)c/c++->常規->附加包含目錄(填寫標頭檔案所在目錄):
標頭檔案所在目錄;%(additionalincludedirectories)
示例:c:\users\guoyi\source\repos\hxlbmpfiledll\hxlbmpfiledll;%(additionalincludedirectories)
.lib所在目錄;%(additionalincludedirectories)
示例:c:\users\guoyi\source\repos\hxlbmpfiledll\debug;%(additionalincludedirectories)
示例:hxlbmpfiledll.lib
確定2.複製.lib檔案,貼上到需要使用dll的專案所在的解決方案的(注意:不是專案的)debug目錄下
然後,就可以愉快的使用dll了。
動態鏈結庫使用注意事項
一 匯出全域性函式 前期是使用模組定義檔案匯出,後期改為使用關鍵字匯出時,不僅要將 專案 原始檔 中的 def 檔案刪除,還要將 屬性 鏈結器 輸入 模組定義檔案 刪除,否則會報錯 無法開啟 def檔案 二 通過關鍵字 declspec dllexport 匯出 使用關鍵字 declspec dll...
鏈結庫注意事項
1 確定include路徑設定正確。2 確定lib路徑設定正確。3 確定在聯結器上加入需要連線的庫名字。4 由於庫可能是win平台 lib dll 或者是linux平台 a so 使用編譯器時需注意庫的格式是否與編譯器所在平台對應。5 確定32位程式連線的是32位庫,64位程式連線64位庫。ps 這...
動態鏈結庫 靜態鏈結庫
包含標頭檔案和庫 idir 指定編譯查詢標頭檔案的目錄,常用於查詢第三方的庫的標頭檔案,例 gcc test.c i.inc o test。ldir 指定鏈結時查詢lib的目錄,常用於查詢第三方庫。llibrary 指定額外鏈結的lib庫 巨集定義 dmacro 以字串 1 預設值 定義 macro...