使用qt的時候,我們經常會對pro進行一系列繁瑣的配置,為友善大家了解、查找,現将常用的配置進行整理。
<a href="#%e7%ae%80%e8%bf%b0">簡述</a>
<a href="#%e9%85%8d%e7%bd%ae">配置</a>
<a href="#%e6%b3%a8%e9%87%8a">注釋</a>
<a href="#config">config</a>
<a href="#defines">defines</a>
<a href="#dependpath">dependpath</a>
<a href="#destdir">destdir</a>
<a href="#forms">forms</a>
<a href="#headers">headers</a>
<a href="#includepath">includepath</a>
<a href="#libs">libs</a>
<a href="#mocdir">moc_dir</a>
<a href="#objectsdir">objects_dir</a>
<a href="#qt">qt</a>
<a href="#rccdir">rcc_dir</a>
<a href="#resources">resources</a>
<a href="#rcfile">rc_file</a>
<a href="#rcicons">rc_icons</a>
<a href="#sources">sources</a>
<a href="#target">target</a>
<a href="#template">template</a>
<a href="#translations">translations</a>
<a href="#uidir">ui_dir</a>
<a href="#%e6%9b%b4%e5%a4%9a%e5%8f%82%e8%80%83">更多參考</a>
以“#”開始,到這一行結束。
快捷鍵:ctrl + /
指定編譯器選項和項目配置,值由qmake内部識别并具有特殊意義。
以下配置值控制編譯标志:
選項
說明
release
項目以release模式建構。如果也指定了debug,那麼最後一個生效。
debug
項目以debug模式建構。
debug_and_release
項目準備以debug和release兩種模式建構。
debug_and_release_target
此選項預設設定。如果也指定了debug_and_release,最終的debug和release建構在不同的目錄。
build_all
如果指定了debug_and_release,預設情況下,該項目會建構為debug和release模式。
autogen_precompile_source
自動生成一個.cpp檔案,包含在.pro中指定的預編譯頭檔案。
ordered
使用subdirs模闆時,此選項指定應該按照目錄清單的順序處理它們。
precompile_header
可以在項目中使用預編譯頭檔案的支援。
warn_on
編譯器應該輸出盡可能多的警告。如果也指定了warn_off,最後一個生效。
warn_off
編譯器應該輸出盡可能少的警告。
exceptions
啟用異常支援。預設設定。
exceptions_off
禁用異常支援。
rtti
啟用rtti支援。預設情況下,使用編譯器預設。
rtti_off
禁用rtti支援。預設情況下,使用編譯器預設。
stl
啟用stl支援。預設情況下,使用編譯器預設。
stl_off
禁用stl支援。預設情況下,使用編譯器預設。
thread
啟用線程支援。當config包括qt時啟用,這是預設設定。
c++11
啟用c++11支援。如果編譯器不支援c++11這個選項,沒有影響。預設情況下,支援是禁用的。
c++14
啟用c++14支援。如果編譯器不支援c++14這個選項,沒有影響。預設情況下,支援是禁用的。
當使用debug和release選項時(windows下預設的),該項目将被處理三次:一次生成一個”meta”makefile,另外兩次生成makefile.debug和makefile.release。
在後面的次數,build_pass和相應的debug或release添加到config選項。這使得它可以執行建構特定任務。
例如:
qmake添加這個變量的值作為編譯器c預處理器宏(-d選項)。
然後就可以在代碼中使用:
往往可以指定項目的特殊版本(比如:正式版、試用版)、對一些特殊功能子產品(比如:加密狗)進行限制等。
指定檢視解決依賴關系的目錄清單,當包含檔案時使用。
指定在何處放置目标檔案。
指定ui檔案(參考: qt designer manual)在編譯前被uic處理。所有的建構這些ui檔案所需的依賴、頭檔案和源檔案都會自動被添加到項目中。
指定項目中所有的頭檔案。
qmake會自動檢測是頭檔案的類中是否需要moc,并增加适當的依賴關系和檔案到項目中,來生成和連結moc檔案。
指定編譯項目時應該被搜尋的#include目錄。
如果路徑包含空格,需要使用引号包含。
指定連結到項目中的庫清單。如果使用unix -l (library) 和 -l (library path) 标志,在windows上qmake正确處理庫(也就是說,将庫的完整路徑傳遞給連結器),庫必須存在,qmake會尋找-l指定的庫所在的目錄。
如果路徑包含空格,需要使用引号包含路徑。
指定來自moc的所有中間檔案放置的目錄(含q_object宏的頭檔案轉換成标準.h檔案的存放目錄)。
指定所有中間檔案.o(.obj)放置的目錄。
指定項目中使用qt的子產品。預設情況下,qt包含core和gui,以確定标準的gui應用程式無需進一步的配置就可以建構。
如果想建立一個不包含qt gui子產品的項目,可以使用“ -=”操作符。
下面一行将建構一個很小的qt項目:
如果要建立一個界面,裡面用到xml及網絡相關的類,那麼需要包含如下子產品:
如果你的項目是一個qt designer插件,使用值uiplugin指定項目建構成庫,但特定的qt designer插件支援,請參考:building and installing the plugin。
指定qt資源編譯器輸出檔案的目錄(.qrc檔案轉換成qrc_*.h檔案的存放目錄)。
指定應用程式資源檔案的名稱。這個變量的值通常是由qmake或qmake.conf處理,很少需要進行修改。
僅适用于windows,指定的圖示應該包含在一個生成的.rc檔案裡。如果rc_file 和res_file變量都沒有設定這才可利用。
指定項目中所有源檔案。
指定目标檔案的名稱。預設情況下包含的項目檔案的基本名稱。
上面項目會生成一個可執行檔案,windows下為myapp.exe,unix下為myapp。
模闆變量告訴qmake為這個應用程式生成哪種makefile。
可供使用的選項:
app
建立一個用于建構應用程式的makefile(預設)。
lib
建立一個用于建構庫的makefile。
subdirs
建立一個用于建構目标子目錄的makefile,子目錄使用subdirs變量指定。
aux
建立一個不建任何東西的makefile。如果沒有編譯器需要被調用來建立目标,比如你的項目使用解釋型語言寫的,使用此功能。注:此模闆類型隻能用于makefile-based生成器。特别是,它不會工作在vcxproj和xcode生成器。
vcapp
僅适用于windows。建立一個visual studio應用程式項目。
vclib
僅适用于windows。建立一個visual studio庫項目。
指定包含使用者界面翻譯文本的翻譯(.ts)檔案清單。
指定來自uic的所有中間檔案放置的目錄(.ui檔案轉化成ui_*.h檔案的存放目錄)。
<a href="http://blog.csdn.net/liang19890820/article/details/51994441">qt之資源系統</a>
<a href="http://blog.csdn.net/u011012932/article/details/52702523">qt之生成window資源檔案(.rc 檔案)</a>