Qt專案管理介紹之qmake的33個規則

2021-10-06 03:41:07 字數 2820 閱讀 4113

qmake是trolltech公司建立的用來為不同的平台和編譯器書寫makefile的工具。

手寫makefile是比較困難並且容易出錯的,尤其是需要給不同的平台和編譯器組合寫幾個makefile。使用qmake,開發者建立乙個簡單的「專案」檔案並且執行qmake生成適當的makefile。qmake會注意所有的編譯器和平台的依賴性,可以把開發者解放出來只關心他們的**。trolltech公司使用qmake作為qt庫和qt所提供的工具的主要連編工具。

qmake也注意了qt的特殊需求,可以自動的包含moc和uic的連編規則。

qmake 編譯資訊可以通過qmake.conf進行配置。

qt的工程管理檔案常用的主要分為pro、pri、prf、prl四種型別的檔案,其中pro檔案是主檔案,另外三種都可以包含在pro檔案中,他們的書寫規則都遵循qmake的規則。

生成靜態庫時,我們需要使用 config += create_prl 配置,編譯生成和庫檔案同名的 *.prl 檔案;

2、prf特徵檔案,這個檔案主要標識編譯特性,可以使用兩種方式載入

1)config += *prf;

2)load(*prf)。

3、pri配置檔案,通常放置一些通用的配置資訊,進行工程管理。

4、pro工程管理檔案,通常放置與具體工程相關的資訊,以及進行層疊式模組的管理。

1、使用 # 進行注釋;

2、模板變數告訴qmake為這個應用程式生成哪種makefile。

eg:

template = subdirs

subdirs += one

subdirs += two

3、指定生成的應用程式放置的目錄  destdir += ../bin ;

4、指定生成的應用程式名 target = pksystem (和pro檔名相同);

5、配置資訊,config用來告訴qmake關於應用程式的配置資訊。

例如config+= qt warn_on release,其中+=為追加,=為賦值,warn_on為qmake要把編譯器設定為輸出警告資訊的,release部分告訴qmake應用程式必須被連編為乙個發布的應用程式,此處可以使用debug替換。

6、指定uic命令,將.ui檔案轉化成ui_*.**件的存放的目錄 ui_dir += forms ;

7、指定rcc命令,將.qrc檔案轉換成qrc_*.**件的存放目錄

rcc_dir += ../tmp ;

8、指定moc命令,將含q_object的標頭檔案轉換成標準.**件的存放目錄

moc_dir += ../tmp ;

9、指定目標檔案(obj)的存放目錄 objects_dir += ../tmp ;

10、程式編譯時依賴的相關路徑 dependpath += . forms include qrc sources ;

11、標頭檔案包含路徑 includepath += . ;

12、原始檔編碼方式 codecforsrc = gbk ;

13、工程中包含的標頭檔案 headers += *.h ;

14、工程中包含的原始檔sources += *.cpp ;

15、工程中包含的.ui設計檔案 forms += *.ui ;

16、工程中包含的資源檔案 resources += *.qrc ;

17、libs += -l庫路徑 -l庫名 ;

18、定義編譯選項,defines += xx,在.**件中就可以使用:#ifdefine xx;

19、條件編譯 (主要區分不同平台和release、debug版本)    

win32 

unix 

!exists( main.cpp ) 

win32:debug 

config(debug, debug|release) 

(注:"{" 必須放置在"條件"的同一行))

20、message(資訊);

21、include(*.pro/*.pri);

22、translations qt語言國際化檔案

23、命令列(配置好qt環境變數)qmake -project 生成pro檔案(需要配置qmake.conf手動修改pro檔案進行處理),qmake  *.pro生成makefile檔案,nmake(區分編譯器)編譯即可;

24、qmake -tp vc *.pro(-r)生成vs解決方案;

25、qmake -spec macx-xcode *.pro 生成xcode工程檔案;

26、warn_off - 編譯器會輸出盡可能少的警告資訊;

27、qt += xml  加入qt模組;

28、installs + = target sources   指定安裝路徑;

29、qmake_cxxflags_warn_on c++編譯器警告;

30、qmake_cflags_warn_on c編譯器警告;

31、w34100  unreferenced formal parameter ;

32、w34189  local variable is initialized but not referenced;

33、contains(config,thread)根據thread是否在config中進行編譯。

1、qmake [options] files

1)-help 列出qmake幫助資訊;

2)-o file 直接輸出到檔案file,如果這個選項沒有指定, qmake將會嘗試使用合適的檔名作為輸出,這依賴於當前的執行模式。

3)-d 列出qmake的除錯資訊;

4)-wall   qmake將會報告所有知道的警告資訊。

1、2、

3、

Qt解讀之qmake手冊

出處 一.什麼是qmake,以及它的用途 概念 qmake是乙個簡化編譯程式的工具軟體,適用於各個系統平台。作用 生成makefile。根據pro檔案,很少資訊就能生成makefile.用法 1 qmake o makefile hello.pro 生成hello.pro工程的makefile 二....

qt中的qmake命令設定

之前安裝qt 4.7.2,由於習慣了在命令列下編譯原始檔,我在網上搜了一下關於qt環境變數的配置方法,配置很簡單,在 etc profile檔案裡新增下面幾行語句 export qtdir opt qtsdk 2010.05 qt 這個路徑根據自己安裝的位置進行配置 export ld librar...

利用Qt的qmake建立vc工程

1 開啟vc中的終端 開始程式 microsoft visual studio 2005 visual studio tools visual studio 2005 命令提示 2 進入自己的源程式所在的工程目錄,如c build template cd c build template c 3 建...