在QT中,有一個工具qmake可以生成一個makefile文件,它是由.pro文件生成而來的,.pro文件的寫法如下:
1. 註釋 從“#”開始,到這一行結束。
2.模板變量告訴qmake爲這個應用程序生成哪種makefile。
下面是可供使用的選擇:
TEMPLATE = app
A> app -建立一個應用程序的makefile。這是默認值,所以如果模板沒有被指定,這個將被使用。
B> lib - 建立一個庫的makefile。
C> vcapp - 建立一個應用程序的VisualStudio項目文件。
D> vclib - 建立一個庫的VisualStudio項目文件。
E> subdirs -這是一個特殊的模板,它可以創建一個能夠進入特定目錄並且爲一個項目文件生成makefile並且爲它調用make的makefile。
3、#指定生成的應用程序放置的目錄
DESTDIR+= ../bin
4、#指定生成的應用程序名
TARGET= pksystem
5、#配置信息 CONFIG用來告訴qmake關於應用程序的配置信息。
CONFIG+= qt warn_on release
在這裏使用“+=”,是因爲我們添加我們的配置選項到任何一個已經存在中。這樣做比使用“=”那樣替換已經指定的所有選項是更安全的。
A> qt部分告訴qmake這個應用程序是使用Qt來連編的。這也就是說qmake在連接和爲編譯添加所需的包含路徑的時候會考慮到Qt庫的。
B> warn_on部分告訴qmake要把編譯器設置爲輸出警告信息的。
C> release部分告訴qmake應用程序必須被連編爲一個發佈的應用程序。在開發過程中,程序員也可以使用debug來替換release
6、#指定uic命令將.ui文件轉化成ui_*.h文件的存放的目錄
UI_DIR+= forms
7、#指定rcc命令將.qrc文件轉換成qrc_*.h文件的存放目錄
RCC_DIR+= ../tmp
8、#指定moc命令將含Q_OBJECT的頭文件轉換成標準.h文件的存放目錄
MOC_DIR+= ../tmp
9、#指定目標文件(obj)的存放目錄
OBJECTS_DIR+= ../tmp
10、#程序編譯時依賴的相關路徑
DEPENDPATH+= . forms include qrc sources
11、#頭文件包含路徑
INCLUDEPATH+= .
#qmake時產生的信息,【$${a}讀取變量a的字符串】,【$$(PATH)讀取環境變量PATH】 #message($$(PATH))
12、#源文件編碼方式
CODECFORSRC= GBK
13、#工程中包含的頭文件
HEADERS+= include/painter.h
14、#工程中包含的.ui設計文件
FORMS+= forms/painter.ui
15、#工程中包含的源文件
SOURCES+= sources/main.cpp sources/painter.cpp
16、#工程中包含的資源文件
RESOURCES+= qrc/painter.qrc
LIBS+= -L folderPath //引入的lib文件的路徑 -L:引入路徑
Release:LIBS += -L folderPath // release 版引入的lib文件路徑
Debug:LIBS += -L folderPath // Debug 版引入的lib 文件路徑
DEFINES+= XX_XX_XXX //定義編譯選項,在.h文件中就可以使用:#ifdefine xx_xx_xxx
RC_FILE= xxx.icns
17# 平臺相關性處理 我們在這裏需要做的是根據qmake所運行的平臺來使用相應的作用域來進行處理。
爲Windows平臺添加的依賴平臺的文件的簡單的作用域看起來就像這樣:
win32 { SOURCES += hello_win.cpp }
當你已經創建好你的項目文件,生成Makefile就很容易了,你所要做的就是先到你所生成的項目文件那裏然後輸入:
Makefile可以像這樣由“.pro”文件生成:
qmake -oMakefile hello.pro
對於VisualStudio的用戶,qmake也可以生成“.dsp”文件,例如:
qmake -tvcapp -o hello.dsp hello.pro