visual studio生成動態庫DLL
-
創建動態庫工程
注意 #include “pch.h” 要放在上面
完成后點擊生成
-
創建一個控制臺項目
設置項目附加目錄為剛才創建的動態庫工程Dll1:
配置附加庫目錄:
配置動態庫的導入庫(.lib
):鏈接器僅記錄符號信息,不合并代碼,但需要它來解析符號引用。這里的lib文件不是靜態庫
右擊設置控制臺項目為啟動項目,然后點擊啟動就ok了
2025/5/14 補充:
動態庫一般會定義一個宏
#ifdef MYLIBRARY_EXPORTS#define MYLIB_API __declspec(dllexport)
#else#define MYLIB_API __declspec(dllimport)
#endif
可以把這個宏放在動態庫都需要包含的頭文件 “pch.h” 中,讓動態庫中的每個頭文件都可以包含到它。
動態庫工程中,在項目屬性頁,c+±預處理器-預處理定義中,添加這個宏 MYLIBRARY_EXPORTS,在主工程中不添加這個宏,這樣就可以使用了。
另外,主工程包含動態庫,一般會將動態庫的頭文件路徑配置到主工程的包含目錄中,主工程的庫目錄配置動態庫lib文件(動態庫導入文件,非靜態庫文件)所在目錄,然后將動態庫dll文件放入主工程exe文件所在目錄下(否則會報找不到該dll文件)
linux系統中,lib文件和dll文件合二為一變成了so文件,所以只需要將頭文件和so文件加入到主工程中就可以了。在windows系統中,一般需要先編譯生成動態庫文件,再配置主工程的包含目錄(一般不把動態庫的頭文件加入到主工程中),庫目錄,復制dll庫文件到動態庫exe文件所在文件夾。