解析如何在QT平臺生成靜態(tài)庫
如何在QT平臺生成靜態(tài)庫是本文要介紹的內(nèi)容,主要是來學(xué)習(xí)QT平臺中關(guān)于靜態(tài)庫的的應(yīng)用,具體內(nèi)容的實現(xiàn)來看本文詳解。很多時候我們需要使用到靜態(tài)庫,為了保護自己的核心代碼。
通常會將靜態(tài)庫提供給第三方使用。也有些時候便于管理和維護。
因為新手上QT我們也來看看QT平臺的靜態(tài)庫如何生成。
用QT_Creator向?qū)щS便生成一個工程
因為反正我們要去修改PRO的,可惜向?qū)Р幌駽arbide那樣為我們提供可視化的生成向?qū)А鑶?,Nokia的路好長好長。
讓我們往下看:
比如我們要生成QDll的靜態(tài)庫
- //靜態(tài)庫pro文件如下
- TEMPLATE=lib
- TARGET=QDll
- QT+=coregui
- HEADERS+=\
- qfunction.h
- SOURCES+=\
- qfunction.cpp//自己需要封裝的方法
- symbian{
- TARGET.UID3=0xe5afe8a2
- #TARGET.CAPABILITY+=
- TARGET.EPOCSTACKSIZE=0x14000
- TARGET.EPOCHEAPSIZE=0x0200000x800000
- MMP_RULES+=EXPORTUNFROZEN
- CONFIG+=staticlib\
- debug_and_release\
- precompile_header
- }
- qfunction.cpp
- //就用個簡單的加法來測試
- intQFunction::Add(inta,intb)
- {
- returna+b;
- }
build生成對應(yīng)的庫,恭喜你靜態(tài)庫生成了
來看看如何使用自己生成的庫呢?
仍然是隨便創(chuàng)建一個工程
修改PRO文件如下
- QT+=coregui
- TARGET=QT_DllDest
- TEMPLATE=app
- CONFIG+=libQDll
- SOURCES+=main.cpp\
- mainwindow.cpp\
- Rlog.cpp
- HEADERS+=mainwindow.h\
- qfunction.h\
- Rlog.h
- FORMS+=mainwindow.ui
- CONFIG+=mobility
- MOBILITY=
- symbian{
- TARGET.UID3=0xe404a34b
- #TARGET.CAPABILITY+=
- TARGET.EPOCSTACKSIZE=0x14000
- TARGET.EPOCHEAPSIZE=0x0200000x800000
- LIBS+=-lQDll.lib//這個是symbian平臺引用靜態(tài)庫
- //是的沒有寫劃前面是-l關(guān)鍵字不能寫掉
- }
//直接調(diào)用如下,成功嘎嘎的帥!!
- QFunctionafun;
- intret=afun.Add(1,2);
- qDebug("ret=%d",ret);
- RLog::WriteLog("ret=",ret);
以上測試代碼N78
小結(jié):解析如何在QT平臺生成靜態(tài)庫的內(nèi)容介紹完了,希望通過QT平臺上靜態(tài)庫內(nèi)容的學(xué)習(xí)能對你有所幫助!