鏈接庫的創建:
1.創建動態鏈接庫
在頭文件中添加以下代碼
#pragma once #ifdef __DLLEXPORT #define __DLL_EXP _declspec(dllexport) // 導出函數 - 生成dll文件時使用 #else #define __DLL_EXP _declspec(dllimport) // 導入函數 -使用dll是使用 #endif // __DLLEXPORT // 判斷是否是c++ #if defined(__cplusplus)||defined(c_plusplus) extern "C" { #endif __DLL_EXP int add(int a, int b); __DLL_EXP int sub(int a, int b); #if defined(__cplusplus)||defined(c_plusplus) } #endif
2.創建靜態鏈接庫
鏈接庫的調用:
方法1:
直接將文件拷貝到目錄下
直接把Dll1.h,Dll1.lib和Dll1.dll文件,復制到工程目錄下面,
在上述代碼的using namespace std;下面添加一句
方法2:
在VC目錄中設置
2.1 如果整個工程只有C++文件。可以直接在VC目錄里設置。
在VC++目錄下的包含目錄里添加Dll1.h所在的路徑,在庫目錄里添加Dll1.lib所在的路徑。
2.2 在鏈接器,輸入里的附加依賴項里添加Dll1.lib
2.3 在生成事件,后期生成事件里的命令行里添加以下命令
將dll文件編譯后拷貝到執行目錄下
說明:copy只能拷貝文件,
xcopy可以拷貝整個文件夾
方法3:
3.1 添加Dll1.h的包含目錄
3.2 添加Dll1.lib的庫目錄
3.3 后面的與2.2/2.3兩步相同
注意:方法2和方法3中,配置選項中的debug/release以及平台x64或者x86需要與編譯時的選項一致
靜態鏈接庫的調用:與動態鏈接庫的調用方法類似,少了.dll文件