在QT中靜態庫的后綴名為.a,在vs中開發的靜態庫后綴名為.lib。QT版本為5.2.1,系統為Windows。
一、 靜態庫的生成
- 新建項目。
新建一個靜態庫的項目,如圖1.1所示:項目名稱為test
圖 1 新建項目示意圖
2.選擇項目類型。
選擇項目類型為靜態鏈接庫,設定項目路徑。共享庫是創建動態鏈接庫,后綴名為.so,vs上為.dll。
圖 2 設置項目類型
3.選擇下一步,選擇需要的qt模塊。
4.選擇下一步,設置類和文件名稱。
注意類名稱為鏈接庫名,在本項目中為test,對應的靜態庫名稱為libtest.a
5.編寫靜態庫代碼。
6.構建項目。在正確編碼的基礎上,得到libtest.a的靜態庫文件。
在項目中,我們去查看.pro文件可以發現如下語句:
TARGET = test
TEMPLATE = lib
CONFIG += staticlib
如果想要生成對應debug和release版本的靜態庫可以使用如下語句去替換TARGET:
win32:CONFIG(debug,debug|release):TARGET = testd
else:win32:CONFIG(release,debug|release):TARGET = test
二、靜態庫的使用
1.新建項目。
2.添加靜態庫的.h文件和.a文件到項目文件中。
3.添加.h文件到項目中
4.添加.a或者.lib文件到項目中。
在這兒可以通過手動修改pro文件去實現添加。注意格式為使用格式:LIBS += -L[path to lib] -l[name of lib],例如在項目中.a文件存放在當前程序的lib目錄下,可以使用如下語句:LIBS += -L$$PWD/lib/ -ltest,其中$$PWD表示當前./,test為靜態庫的名稱。
如果怕出錯,可以通過QT自帶的功能區實現,如下操作:
(1).點擊項目,點擊鼠標右鍵彈出菜單,選擇添加庫。
(2).選擇添加庫的類型,分別為外部庫、內部庫和系統庫,這兒我們選擇”外部庫“,點擊”下一步“
(3).制定鏈接庫和包含目錄,這兒請根據實際情況選擇,這兒平台選擇”window“,”靜態庫“,”為debug添加‘d’的后綴“,在點擊“下一步”
(4).這兒就可以看到添加到pro中的語句,確認無誤后,選擇完成,這樣便完成了對靜態庫的添加。
5.根據實際靜態庫的內容完成實際操作.
http://www.cnblogs.com/tianzhang/p/4911790.html