一些概念
字符類型:
ansi
Multi-Byte Character Set 多字節字符集
unicode
庫(lib)分兩種類型。
靜態庫-靜態庫中包含obj編譯信息。直接編入程序源碼。
導入庫-是動態庫(dll)的導出函數,方便程序調用。
一:庫的生成部分
C++程序編譯有多種配置組合,每個程序配置的選項不同,庫文件一般會預設好多種模式,根據需要來選擇編譯。
為了區分出來不同選項的dll,一般輸出的文件名會設置的有區別。
控件編譯選項
先是use of mfc 這兒分成兩類,再根據字符集,再根據鏈接類型(動態,靜態)
static library
active(static debug) active(x64)
use standard library use mbs set xxSD.lib
active(dynamic unicode debug) active(x64)
use mfc shared dll use unicode set xx/DSUD.lib
active(dynimic release)
use mfc shared dll use mbs set xxDS.lib
二:庫的引用
--頭文件
要么直接include源代碼,要么把頭文件復制一份出來再include
--庫文件
1.設置好庫文件的路徑。
2.再指定庫文件的名稱。linkeer-input-additonal dependencies
這里還有個設置庫文件名的方式。
在頭文件中通過#pragma comment(lib,xx)設置,lib名稱根據系統配置參數,預定義頭等動態生成。
這樣就能自動匹配到生成庫文件時的命名規則。
這里的參數一般是寫在預定義參數中。然后這個參數含義看庫程序的頭文件中有說明。
成熟的一般都配置好了各種組合。
爭對自定義的庫。
庫生成這邊
lib文件分別放在debug和release文件夾下,debug配置輸出文件名加字母D。
然后把他們放在一個文件夾下。
調用這邊
全局配置里library files 設好上述路徑。
再到工程設置里link中,把lib名稱區分開。