1. 程式人生 > >Qt工程配置.pro詳解--(如何正確的配置Qt工程)

Qt工程配置.pro詳解--(如何正確的配置Qt工程)

編譯QT的工程的時候,一般都會讓qmake自動生成,但有時我們需要定製我們的工程,那麼就必須改寫pro檔案。
要自己全部寫pro檔案又有點麻煩,所以,一般都是先執行
qmake -project來生成基本的pro檔案。

  在一般的.pro裡已經包含了幾個基本的選項,如TEMPLATE,TARGET,INCLUDEPATH,HEADS,SOURCES等選項,下面我們細講:

(1). 模板變數

TEMPLATE = app

app -表示該工程建立一個應用程式的makefile。這是預設值,所以如果模板沒有被指定,這個將被使用 ;
lib - 表示該工程建立一個庫的makefile
(2). 生成目錄

指定生成的可執行程式的目錄,可以絕對和相對路徑
DESTDIR += ../bin
(3). 生成的應用程式名,即軟體名

TARGET = qtest

(4). 編譯選項

增添或者移除某個模組
比如增添C++11和console支援,Qt的各模組也在這裡面新增
CONFIG += console c++11 network
CONFIG -= qt
可以用空格分隔或者”\”來隔行
(5).目標檔案目錄
obj檔案存放的目錄,可以絕對或相對路徑
OBJECTS_DIR += ../tmp
(6). 工程中包含的標頭檔案

表示本工程中的標頭檔案
HEADERS += \
libcurl/curl/curl.h \
libcurl/curl/curlbuild.h \
libcurl/curl/curlrules.h \
只要qtcreator目錄樹裡add進去了就自動新增
(7). 工程中包含的原始檔

表示本工程中的原始檔
SOURCES += mytest.cpp\
main.cpp
只要qtcreator目錄樹裡add進去了就自動新增
(8).工程中包含的資原始檔

表示本工程包含的資原始檔
RESOURCES += qrc/painter.qrc
只要qtcreator目錄樹裡add進去了就自動新增,更改pro檔案會同步更新qtcreator裡的目錄樹,但不會影響硬碟上的資原始檔
(9).附加標頭檔案包含目錄

一般要編譯連結第三方庫時配置include目錄
例如
INCLUDEPATH += ./boost/include\
src/thirdpart/include
INCLUDEPATH += D:/boost/include\
E:/cocos2dx/include
1).可以用絕對或相對路徑 2).相對路徑中./可以省略 3).路徑中不允許出現空格
(10).連結庫
對於靜態庫(.lib, .a)以及動態庫.so

LIBS += -LD:/codetest/libcurlcpp/libcurl/lib/-llibcurl\
-LD:/codetest/libcurlcpp/libcurl/lib/-lws2_32\
-LD:/codetest/libcurlcpp/libcurl/lib/-lwldap32\
-LD:/codetest/libcurlcpp/libcurl/lib/-lopencv.so\
-LD:/codetest/libcurlcpp/libcurl/lib/-llibzmq.a
或者
LIBS += D:/codetest/libcurlcpp/libcurl/lib/libcurl.lib\
D:/codetest/libcurlcpp/libcurl/lib/ws2_32.lib\
D:/codetest/libcurlcpp/libcurl/lib/wldap32.lib
D:/codetest/libcurlcpp/libcurl/lib/opencv.so\
D:/codetest/libcurlcpp/libcurl/lib/opencv.a
或者
LIBS +=

(2)PWD/libcurl/lib/libcurl.libPWD/libcurl/lib/ws2_32.lib\
(3)PWD/libcurl/lib/wldap32.lib1).Ll.lib.a,.sol2).path.lib.a,.sopwd字首,路徑不允許空格
3).LIBS += somepath 這個可以多行寫,也可以用“\”隔行
對於動態庫dll,必須拷貝到exe執行目錄或者在環境變數裡配置路徑
(11).預編譯巨集

DEFINES += USE_OPENSSL\
CURL_STATICLIB

類似於vs裡面在工程裡設定預編譯選項

(12).平臺相關性處理

根據qmake所執行的平臺來使用相應的作用域來進行處理
win32
{
SOURCES += 1.cpp
}else{
SOURCES += 2.cpp
}
根據平臺進行條件編譯
(13).指定來自uic的所有中間檔案放置的目錄

unix:UI_DIR = ../project/ui
win32:UI_DIR = D:/project/ui

(14).指定包含使用者介面翻譯文字的翻譯(.ts)檔案列表

TRANSLATIONS += Resource/myapp_zh.ts \
Resource/myapp_en.ts

(15).指定的圖示應該包含在一個生成的.rc檔案裡

如果RC_FILE 和RES_FILE變數都沒有設定這才可利用

RC_ICONS = logo.ico

(16).“subdirs”模板

     subdirs”模板告訴qmake生成一個makefile,它可以進入到特定子目錄併為這個目錄中的專案檔案生成makefile並且為它呼叫make。在這個模板中只有一個系統變數SUBDIRS可以被識別。這個變數中包含了所要處理的含有專案檔案的子目錄的列表。這個專案檔案的名稱是和子目錄同名的,這樣qmake就可以發現它。例如,如果子目裡是“app1”,那麼在這個目錄中的專案檔案應該被叫做app1.pro。

相關推薦

Qt工程配置.pro--如何正確配置Qt工程

編譯QT的工程的時候,一般都會讓qmake自動生成,但有時我們需要定製我們的工程,那麼就必須改寫pro檔案。 要自己全部寫pro檔案又有點麻煩,所以,一般都是先執行 qmake -project來生成基本的pro檔案。 在一般的.pro裡已

java環境變數 的配置全網最詳細教程

筆者這學期開始學習java課程,學習java開發首先需要配置java執行環境變數。雖然上課老師也講了如何配置java環境變數,可是筆者的同學還是有好多都不會配置,所以筆者最近配置了特別多次java環境變數。如下筆者詳細解釋從JDK安裝到環境變數的裝配。 目錄

linux下Nginx配置檔案(nginx.conf)配置設定windows用phpstudy整合

linux備份nginx.conf檔案舉例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在程序列表裡 面找master程序,它的編號就是主程序號。 ps -ef | g

Qt】Qt5.8交叉編譯配置選項./configure --help

Usage:  configure [options] [assignments]Configure understands variable assignments like VAR=value on the command line.These override any

Spartan6芯片配置模式

roc gen bit png 寬度 con 讀取配置 3.2 多個 1. 配置概述  Spartan6系列FPGA通過把應用程序數據導入芯片內部存儲器完成芯片的配置。Spart-6 FPGA可以自己從外部非易失性存儲器導入編程數據,或者通過外界的微處理器、DSP等對其進行

mybatis 代碼生成器IDEA, Maven)及配置部分配置你應該不知道

win 項目 找到 mini 屬性 新建 ini 默認 sub 在使用 mybatis 過程中, 當手寫 JavaBean和XML 寫的越來越多的時候, 就越來越同意出錯。這種重復性的工作, 我們當然不希望做那麽多。 還好, mybatis 為我們提供了強大的代碼生成--M

三大框架ssh學習——配置檔案一)

配置檔案詳解 指定web應用預設字符集 <constant name="struts.i18n.encoding" value="gbk" /> 此配置相當於: request.setCharacterEncoding(“gbk”); r

三大框架ssh學習——配置檔案

多配置檔案實現 專案經常需要多人協作開發,但是如果大家都是用同一個struts.xml檔案,會互相影響不利於開發的正常開展。這樣,我們可以通過<include>元素指定多個配置檔案。 可以在src下面建立多個struts配置檔案。然後再struts.xml中分別引入: str

CentOS 7.5安裝配置Tomcat

二、Tomcat調優、開機自啟和日誌切割 1、  編譯安裝openssl、apr、apr-util和tomcat-native: (1)編譯安裝openssl(下載地址https://www.openssl.org/source/): # yum -y install openssl-de

CentOS 7.5安裝配置Tomcat

Tomcat是Apache軟體基金會Jakarta專案中的一個核心專案,主要實現了Java EE中的Servlet、JSP規範,同時也提供HTTP服務,是主流的、免費開源的Java Web輕量級應用伺服器。 一、安裝Tomcat: 1、  安裝JDK(下載地址https://www.orac

vsftpd配置檔案

  vsftpd配置檔案詳解     1.預設配置:

【SpringBoot學習之路】08.Springboot配置檔案

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾【SpringBoot學習之路】08.Springboot配置檔案詳解(四)  自動配置原理 配置檔案到底能寫什麼?怎麼寫?自動配置原理; 配置檔案能配置的屬性參照

【SpringBoot學習之路】07.Springboot配置檔案

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾 【SpringBoot學習之路】07.Springboot配置檔案詳解(三) Profile多環境支援 Profile是Spring對不同環境提供不同配置功能的支援,可以通

【SpringBoot學習之路】06.Springboot配置檔案

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾 【SpringBoot學習之路】06.Springboot配置檔案詳解(二) 配置檔案值注入 @Value獲取值和@ConfigurationProperties獲取值比較

【SpringBoot學習之路】05.Springboot配置檔案

轉載宣告:商業轉載請聯絡作者獲得授權,非商業轉載請註明出處.原文來自 © 呆萌鍾【SpringBoot學習之路】05.Springboot配置檔案詳解(一)  配置檔案 Spring Boot使用一個全域性的配置檔案 applic

0 httpd2.2配置-Apache配置檔案-

httpd-2.2 15 curl命令 curl是基於URL語法在命令列方式下工作的檔案傳輸工具,它支援FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等協議。curl支援HTTPS認證,並且支援HTTP的POST、PU

Android安全/開發基礎--15--應用程式配置檔案AndroidManifest.xml

================================================================= Android應用程式都需要有清單檔案。該檔案必須命名為AndroidManifest.xml且必須防止在應用程式根目錄中。它聲明

mybatis 程式碼生成器IDEA, Maven)及配置部分配置你應該不知道

在使用 mybatis 過程中, 當手寫 JavaBean和XML 寫的越來越多的時候, 就越來越同意出錯。這種重複性的工作, 我們當然不希望做那麼多。 還好, mybatis 為我們提供了強大的程式碼生成–MybatisGenerator。 通過簡單的配置,

nignx服務之配置檔案2

nginx是一個功能非常強大的web伺服器加反向代理伺服器,同時又是郵件伺服器等等,在專案使用中,使用最多的三個核心功能是反向代理、負載均衡和靜態伺服器。這三個不同的功能的使用,都跟nginx的配置密切相關,nginx伺服器的配置資訊主要集中在nginx.conf這個配置檔案中,並且所有的可

nignx服務之配置檔案1

Nginx的配置檔案nginx.conf配置詳解如下: user nginx nginx ; Nginx使用者及組:使用者 組;window下不指定 worker_processes 8; 工作程序:數目。根據硬體調整,通常等於CPU數量或者2倍於CPU。 erro