1. 程式人生 > >QT pro文件詳細寫法+實例

QT pro文件詳細寫法+實例

線程 詳細 bug 打開 unix 多線程 文件路徑 lin project

很多的初學者都沒有註意pro 文件的內容 今天簡單的介紹一下 這個文件主要內容

TEMPLATE:這個變量是用來定義你的工程將被編譯成什麽模式。如果沒有這個設置,系統將默認編譯為application。

TEMPLATE=app表示這個project將被編譯成一個應用程序(application)

lib(生成庫的Makefile)

subdirs(生成有多級目錄管理的Makefile),

vcapp,vclib,vcsubdirs(對應Windows 下面VC)

TARGET:生成最後目標的名字

DESTDIR:指定生成目標的路徑

DEPENDPATH:工程的依賴路徑

INCLUDEPATH:這個用來指定工程要用到的頭文件路徑

SOURCES:工程需要的源文件

HEADERS:工程所需要的頭文件

FORMS:工程要用到的ui文件(ui文件時用QT設計器生成的)

LIBS:加載動態庫。LIBS+=./mitab/libmitab.so

TRASHLATIONS:加載要用到的語言翻譯*.ts文件

RESOURCES:加載要用到的資源*.qrc文件。

CONFIG:告訴qmake應用程序的配置信息。

這個變量可以用來指定是生成debug模式還是release模式,也可以都生成。

也可以用來打開編譯器警告(warn_on輸出盡可能多的警告信息)或者

關閉(warn_off -編譯器會輸出盡可能少的警告信息)。還可以用來配置要Qt加載庫。

想要qt+多線程:CONFIG+=qt thread

Eg:

CONFIG+=debug_and_release

CONFIG(debug,debug|release){

TARGET= hello

DESTDIR= ./debug

}else{

TARGET= hello

DESTDIR= ./release

}

UI_DIR:UIC將ui轉化為頭文件所存放的目錄

RCC_DIR:RCC將qrc文件轉化為頭文件所存放的目錄

MOC_DIR:MOC命令將含Q_OBJECT的頭文件轉換為標準的頭文件存放的目錄

OBJECTS_DIR:生成的目標文件存放的目錄

DEFINES:應用程序所需的額外的預處理程序定義的列表#在.h文件中就可以使用:#ifdefinexx_xx_xxx

LIBS += -L folderPath //引入的lib文件的路徑 -L:引入路徑

Release:LIBS+= -L folderPath // release 版引入的lib文件路徑

Debug:LIBS+= -L folderPath // Debug 版引入的lib 文件路徑

RC_FILE = xxx.icns //程序圖標

QT是跨平臺的,所以我們在不同的平臺上用同一個pro文件,這要加入有關平臺的信息。

windows是win32,Linux平臺是unix。

Eg:

在Windows和Linux的動態庫文件格式是不一樣的。一個是lib文件一個是so文件

win32:LIBS+= ./mitab/mitab_i.lib

unix:LiBS+= ./mitab/libmitab.so

eg:

win32{

SOURCES+= hello_win.cpp //win平臺

}

unix{

SOURCES+= hello_win.cpp //unix/linux平臺

}

以通過在其它任何一個變量的變量名前加$$來把這個變量的值分配給當前的變量。例如:

MY_DEFINES= $$DEFINE #將DEFINE的值分配給MY_DEFINES

QT pro文件詳細寫法+實例