qmake是建立出來用於為不同的平台和編譯器書寫makefile的工具。手寫makefile是比較困難並且容易出錯的,尤其是需要給不同的平台和編譯器組合寫的makefile。使用qmake,開發者建立乙個簡單的專案檔案並且執行qmake生成適當的makefile。qmake會注意所有的編譯器和平台的依賴性,可以把開發者解放出來只關心他們的**。
qmake可以供任何乙個軟體專案使用,而不用管他是不是使用qt寫成的,儘管它包含了為支援qt開發所擁有的額外的特徵。
qmake使用儲存在專案(.pro)檔案中的資訊來決定makefile檔案中該生成什麼。
在使用qt嚮導生成的應用程式.pro檔案格式如下:
qt +
= core gui //模組的名字
greaterthan
(qt_major_version,4)
: qt +
= widgets
target = test //應用程式名
//原始檔
sources +
= main.cpp\
mainwindow.cpp
//標頭檔案
headers +
= mainwindow.h
//視窗設計檔案
forms +
= mainwindow.ui
.pro就是工程檔案(project),它是qmake自動生成的用於生產makefile的配置檔案。.pro檔案的寫法如下:
target = test //應用程式名test
//標頭檔案
headers +
= mainwindow.h
//原始檔
sources +
= main.cpp\
mainwindow.cpp
//視窗設計檔案
forms +
= mainwindow.ui
resources +
= \ image.qrc
includepath +
= $$pwd/..
/3rd
libs +
=-l$$pwd/..
/3rd/
-ltestlib
config
(release)
:destdir = $$pwd/..
/bin
config
(debug, debug|release)
:destdir = $$pwd/..
/bin
defines +
= testdef_use
config +
= c++
11//使用c++11的特性
在這裡使用「+=」,是因為我們新增我們的配置選項到任何乙個已經存在中。這樣做比使用「=」那樣替換已經指定的所有選項更安全。
config配置變數指定了編譯器所要使用的選項和所需要被連線的庫。配置變數中可以新增任何東西,但只有下面這些選項可以被qmake識別
編譯器型別:
release : 應用程式將以release模式連編。如果「debug」被指定,它將被忽略
debug: 應用程式將以debug模式連編。
warn_on: 編譯器盡可能多得輸出警告資訊,如果「warn_off」被指定,它將被忽略
warn_off:編譯器盡可能少得輸出警告資訊。
config
(debug, debug|release):libs +
=-l.
./lib1 -lhellod
config
(release, debug|release):libs +
=-l.
./lib2 -lhello
我們在這裡需要做的是根據qmake所執行的平台來使用相應的作用域來進行處理。為windows平台新增的依賴平台的檔案的簡單的作用域看起來就像這樣:
win32
defines +
= test_1
#contains和
QT之專案檔案( pro)詳解
從 開始,到這一行結束。target qtdemo headers include painter.h forms forms painter.ui sources sources main.cpp sources painter.cpp resources qrc painter.qrc grea...
Qt 專案管理檔案 pro 詳解
圖 1 專案檔案的目錄樹 1 專案管理檔案 samp2 1.pro,儲存專案設定的檔案。2 主程式入口檔案 main.cpp,實現 main 函式的程式檔案。3 窗體介面檔案 widget.ui,乙個 xml 格式儲存的窗體上的元件及 其布局的檔案。4 widget.h 是所設計的窗體類的標頭檔案,...
Qt 之 pro 子專案開發
新建乙個工程,選擇 其他專案 選擇 子目錄專案 命名,建立乙個只有pro檔案作為目錄根節點的檔案。根pro檔案中的 template subdirs subdirs testtools mymenu abform 第二級pro中的 template subdirs subdirs afrom bfo...