欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

QT5.7pro設(shè)置詳解-創(chuàng)新互聯(lián)

工作中,感覺pro文件的有些內(nèi)容真不太懂,現(xiàn)系統(tǒng)性的學(xué)習(xí)一下。于此備錄,分享共勉。

站在用戶的角度思考問題,與客戶深入溝通,找到安龍網(wǎng)站設(shè)計(jì)與安龍網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋安龍地區(qū)。

為了更好的理解,先創(chuàng)建一個(gè)簡(jiǎn)單的工程作為實(shí)踐。

【1】創(chuàng)建一個(gè)pro文件

1.1 新建proDemo工程。步驟如下:Qt Creator--->New Project--->應(yīng)用程序--->Qt Widgets Application--->名稱為:proDemo(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->類信息保持不變--->完成

1.2 提取pro文件。在工程目錄下,把名稱為proDemo且類型為pro的文件找到,內(nèi)容如下所示:

QT 5.7    pro  設(shè)置詳解

不懂?呵呵~ 我也不懂,先學(xué)習(xí)一下,pro文件分析如下:

QT 5.7    pro  設(shè)置詳解

【2】模板變量

2.1 模板變量 TEMPLATE

模板變量作用告訴qmake為這個(gè)應(yīng)用程序具體生成哪種makefile。下面是模板變量可供選擇的值:

[1]app 模板變量的默認(rèn)值。建立一個(gè)應(yīng)用程序的makefile。

[2]lib 建立一個(gè)庫的makefile。

[3]vcapp 建立一個(gè)應(yīng)用程序的Visual Studio項(xiàng)目文件。

[4]vclib 建立一個(gè)庫的VisualStudio項(xiàng)目文件。

[5]subdirs 這是一個(gè)特殊的模板,它可以創(chuàng)建一個(gè)能夠進(jìn)入特定目錄且為一個(gè)項(xiàng)目文件生成makefile,還能為它再調(diào)用make的makefile。

由以上分析可知,模板變量值不同,生成的makefile文件也會(huì)隨之改變。那么,默認(rèn)的同時(shí)是最常用的app值,模板請(qǐng)參見下文。

2.2 app模板

app模板告訴qmake為建立一個(gè)應(yīng)用程序生成一個(gè)makefile。

當(dāng)使用這個(gè)模板時(shí),設(shè)置下面這些qmake系統(tǒng)變量值是有效的??梢栽谀愕?pro文件中使用它們?yōu)槟愕膽?yīng)用程序指定特定信息。

  • HEADERS - 應(yīng)用程序中的所有頭文件的列表。

  • SOURCES - 應(yīng)用程序中的所有源文件的列表。

  • FORMS - 應(yīng)用程序中的所有.ui文件(由Qt設(shè)計(jì)器生成)的列表。

  • LEXSOURCES - 應(yīng)用程序中的所有l(wèi)ex源文件的列表。

  • YACCSOURCES - 應(yīng)用程序中的所有yacc源文件的列表。

  • TARGET - 可執(zhí)行應(yīng)用程序的名稱。默認(rèn)值為項(xiàng)目文件的名稱。(如果需要擴(kuò)展名,會(huì)被自動(dòng)加上。)

  • DESTDIR - 放置可執(zhí)行程序目標(biāo)的目錄。

  • DEFINES - 應(yīng)用程序所需的額外的預(yù)處理程序定義的列表。

  • INCLUDEPATH - 應(yīng)用程序所需的額外的包含路徑的列表。

  • DEPENDPATH - 應(yīng)用程序所依賴的搜索路徑。

  • VPATH - 尋找補(bǔ)充文件的搜索路徑。

  • DEF_FILE - 只有Windows需要:應(yīng)用程序所要連接的.def文件。

  • RC_FILE - 只有Windows需要:應(yīng)用程序的資源文件。

  • RES_FILE - 只有Windows需要:應(yīng)用程序所要連接的資源文件。

你只需要使用那些你已經(jīng)有值的系統(tǒng)變量。例如,如果你不需要任何額外的INCLUDEPATH,那么你就不需要指定它,qmake會(huì)為所需的系統(tǒng)變量提供默認(rèn)值。

例如,上例中的項(xiàng)目pro文件也可寫成這樣:

QT 5.7    pro  設(shè)置詳解

注意:如果條目是單值的,比如template或者目的目錄DESTDIR(可執(zhí)行文件或二進(jìn)制文件的發(fā)布目錄),我們是用“=”,但如果是多值條目,我們使用“+=”來為這個(gè)變量添加現(xiàn)有的條目值。

使用“=”會(huì)用新值替換原有的值。例如,如果我們寫了DEFINES = QT_DLL,其它DEFINES所有的條目值都將被刪除并用QT_DLL替代。

2.3 lib模板

lib模板告訴qmake為建立一個(gè)庫而生成一個(gè)makefile。當(dāng)使用這個(gè)模板時(shí),除了app模板中提到的系統(tǒng)變量外,還有一個(gè)VERSION是被支持的。

你需要在為庫指定特定信息的.pro文件中使用它們。VERSION - 目標(biāo)庫的版本號(hào)。比如,2.3.1。

2.4 subdirs模板

subdirs模板告訴qmake生成一個(gè)makefile,它可以進(jìn)入到特定子目錄并為這個(gè)目錄中的項(xiàng)目文件生成makefile并且為它調(diào)用make。

在這個(gè)模板中只有一個(gè)系統(tǒng)變量SUBDIRS可以被識(shí)別。這個(gè)變量中包含了所要處理的含有項(xiàng)目文件的子目錄的列表。這個(gè)項(xiàng)目文件的名稱是和子目錄同名的,這樣qmake就可以發(fā)現(xiàn)它。

例如,如果子目里是“myapp”,那么在這個(gè)目錄中的項(xiàng)目文件應(yīng)該被叫做myapp.pro。

【3】配置變量CONFIG

配置變量CONFIG 指定了編譯器所要使用的選項(xiàng)和所需要被連接的庫。配置變量中可以添加任何東西,但只有下面這些選項(xiàng)可以被qmake識(shí)別。

3.1 控制編譯器

下面這些選項(xiàng)控制著使用哪些編譯器標(biāo)志:

  • release - 應(yīng)用程序?qū)⒁詒elease模式連編。如果“debug”被指定,它將被忽略。

  • debug - 應(yīng)用程序?qū)⒁詃ebug模式連編(與release互斥)。

  • debug_and_release - 工程同時(shí)用調(diào)試和發(fā)布模式編譯。

  • build_all - 如果指定是debug_and_release模式,工程默認(rèn)是同時(shí)用調(diào)試和發(fā)布模式編譯。

  • ordered - 使用subdirs模板時(shí),本選項(xiàng)指定了子目錄應(yīng)該按照給出的順序編譯。

  • warn_on - 編譯器會(huì)輸出盡可能多的警告信息。如果“warn_off”被指定,它將被忽略。

  • warn_off - 編譯器會(huì)輸出盡可能少的警告信息(與warn_on互斥)。

3.2 連編類型

下面這些選項(xiàng)定義了所要連編的庫/應(yīng)用程序的類型:

  • qt - 應(yīng)用程序是一個(gè)Qt應(yīng)用程序,并且Qt庫將會(huì)被鏈接。

  • thread - 應(yīng)用程序是一個(gè)多線程應(yīng)用程序。

  • x11 - 應(yīng)用程序是一個(gè)X11應(yīng)用程序或庫。

  • windows - 只用于“app”模板:應(yīng)用程序是一個(gè)Windows下的窗口應(yīng)用程序。

  • console - 只用于“app”模板:應(yīng)用程序是一個(gè)Windows下的控制臺(tái)應(yīng)用程序。

  • dll - 只用于“l(fā)ib”模板:庫是一個(gè)共享庫(dll)。

  • staticlib - 只用于“l(fā)ib”模板:庫是一個(gè)靜態(tài)庫。

  • plugin - 只用于“l(fā)ib”模板:庫是一個(gè)插件,這將會(huì)使dll選項(xiàng)生效。

例如,如果你的應(yīng)用程序使用Qt庫,并且你想把它連編為一個(gè)可調(diào)試的多線程的應(yīng)用程序,你的項(xiàng)目文件應(yīng)該會(huì)有下面這行:

QT 5.7    pro  設(shè)置詳解

注意,你必須使用“+=”,不要使用“=”,否則qmake就不能正確使用連編Qt的設(shè)置了,比如沒法獲得所編譯的Qt庫的類型了。

3.3 聲明QT庫模塊

如果CONFIG變量值中包含了qt這個(gè)值,qmake支持了qt的程序(因?yàn)閝make也可以用在非qt程序的編譯)這就要調(diào)整一些你程序中使用的qt的模塊,而QT變量,正是達(dá)到這個(gè)目的的。QT是用來聲明使用到的一些額外的模塊,例如:通過下面的方法使得xml和網(wǎng)絡(luò)模塊有效:

QT 5.7    pro  設(shè)置詳解

注意:默認(rèn)情況下,qt包含了core 和 gui 模塊,所以上面的聲明僅僅是添加xml和網(wǎng)絡(luò)模塊到默認(rèn)的列表中。

比如,下面的語句就是忽略了默認(rèn)模塊,當(dāng)編譯程序源碼時(shí)候會(huì)導(dǎo)致錯(cuò)誤:

QT 5.7    pro  設(shè)置詳解

假如你想編譯一個(gè)不需要gui模塊的工程,你需要用“-=”操作符來去除包含。

例如:下面的語句就是小型的Qt工程會(huì)被編譯

QT 5.7    pro  設(shè)置詳解

下面的羅列顯示了QT變量可以使用的選項(xiàng),并解釋了相應(yīng)的特點(diǎn):

  • core (included by default)  QtCore module 核心模塊

  • gui (included by default)   QtGui module 界面模塊

  • network                      QtNetwork module 支持網(wǎng)絡(luò)模塊

  • opengl                  QtOpenGL module 支持opengl圖像編程

  • sql                          QtSql module 支持sql數(shù)據(jù)庫驅(qū)動(dòng)

  • svg                         QtSvg module 支持svg矢量圖形

  • xml                         QtXml module 支持xml模塊

  • qt3support                  Qt3Support module 支持qt3類

注意:添加opengl到QT變量里面,等價(jià)于往CONFIG變量里面添加。

所以對(duì)于Qt應(yīng)用程序來說,沒必要同時(shí)往QT變量和CONFIG變量里面添加opengl選項(xiàng)。

3.4 關(guān)于 CONFIG(debug, debug|release)語法

CONFIG變量可以同時(shí)定義 debug 和 release,但只有一個(gè)處于active(當(dāng)兩個(gè)互斥的值都出現(xiàn)時(shí),最后設(shè)置的處于active狀態(tài))

什么意思?怎么理解呢?請(qǐng)看如下:

QT 5.7    pro  設(shè)置詳解

如上寫法,release處于active狀態(tài)。胡說吧!你咋知道呢?嗯哼?不信咱們用上面的工程測(cè)試一下。

[1] 還原測(cè)試現(xiàn)場(chǎng)。把工程文件夾proDemo同級(jí)的目錄及文件刪除干凈(為了驗(yàn)證準(zhǔn)確性,先還原測(cè)試實(shí)驗(yàn)現(xiàn)場(chǎng),以下類似做法意義相同)。

[2] 修改內(nèi)容。把工程中的pro類型文件改為下面的內(nèi)容:

QT 5.7    pro  設(shè)置詳解

[3] 編譯構(gòu)建。首先把工程qmake一下,然后構(gòu)建。

好,完成測(cè)試操作。激動(dòng)人心的時(shí)刻到了!這個(gè)時(shí)候,我們會(huì)發(fā)現(xiàn)proDemo同級(jí)目錄生成了appFile文件夾。

打開此文件夾,發(fā)現(xiàn)有兩個(gè)文件:proDemo.exe 和 proDemo.exe.embed.manifest

壞了!從pro文件來看,我們debug和release版本生成的目標(biāo)文件名稱是相同的(即TARGET值)。腫么辦呢?為了驗(yàn)證是release版本的可執(zhí)行程序!

這樣吧!我們?cè)谏霞?jí)目錄即proStudy文件夾中搜索*pdb文件(調(diào)試debug版本必生成的文件),沒有搜索到。OK!那就說明是Release版本。

其實(shí),另外一種辦法,我們會(huì)發(fā)現(xiàn)proDemo工程文件夾同級(jí)目錄下也會(huì)生成一個(gè)build-proDemo-Desktop_Qt_5_3_MSVC2010_OpenGL_32bit-Debug名稱的文件夾(說明一點(diǎn):剛剛構(gòu)建程序時(shí)QT Creator的模式是Debug),而這個(gè)文件夾中會(huì)有debug和release兩個(gè)文件夾,你會(huì)發(fā)現(xiàn)debug文件是空的,而release文件夾中才有內(nèi)容。這點(diǎn)也可以說明剛剛的確生成的是release版本。

但是,上面的寫法,debug 和 release都可以通過測(cè)試,而且閱讀比較費(fèi)勁,反正總感覺迷惑性太強(qiáng),如何處理呢?建議寫法如下:

QT 5.7    pro  設(shè)置詳解

這種情況下,我們?cè)賮矸治鲆幌拢?/p>

[1] 還原現(xiàn)場(chǎng)。清空proDemo工程目錄下除過proDemo而外的其他文件夾(同上)。

[2] 切換模式。分別切換Debug和Release版本:

QT 5.7    pro  設(shè)置詳解

[3] 編譯構(gòu)建。各自執(zhí)行qmake,并進(jìn)行構(gòu)建,再運(yùn)行,可以看到同樣的窗體:

QT 5.7    pro  設(shè)置詳解

好勒~ 盡管,看起來是同樣的窗體,但是,要理解是兩個(gè)完全不同版本的應(yīng)用程序。

現(xiàn)在看看proDemo目錄下會(huì)多出這樣兩個(gè)文件夾:demo_Debug 和 demo_Release,在其各自目錄下,可以分別發(fā)現(xiàn)可執(zhí)行程序proDemo_Debug和proDemo_Release,即剛剛兩個(gè)窗體應(yīng)用程序。

同時(shí),會(huì)發(fā)現(xiàn)再?zèng)]有生成appFile文件夾,這點(diǎn)也可以驗(yàn)證DESTDIR 后面的“=”與 “+=”的作用區(qū)別。

那么,再回頭看 CONFIG(debug, debug|release)這種語法是什么含義呢?

注解:兩個(gè)參數(shù),前者是要判斷active的選項(xiàng),后者是互斥的選項(xiàng)的一個(gè)集合。

有人覺得難道這么麻煩?上面的例子中,生成兩種版本的應(yīng)用程序,我們通過對(duì)Qt Creator構(gòu)建模式進(jìn)行了切換,那么想直接生成呢?

可以直接加選項(xiàng)build_all。比如,可以把pro文件改為這樣的內(nèi)容:

QT 5.7    pro  設(shè)置詳解

然后清空工程文件夾同級(jí)其它目錄,再qmake一下,編譯后,可以看到不用切換Qt Creator情況下,也我們一次性同時(shí)生成了兩種版本的可執(zhí)行程序。

【3】Qt Creator創(chuàng)建工程的pro文件

下面分別把Qt Creator新建的不同類型工程默認(rèn)的pro文件羅列一下,可以參考學(xué)習(xí):

3.1 新建proDemo1工程(注意:模板選擇,項(xiàng)目:應(yīng)用程序;Qt Widgets Application)。步驟如下:Qt Creator--->New Project--->應(yīng)用程序--->Qt Widgets Application--->名稱為:proDemo1(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->類信息保持不變--->完成。對(duì)應(yīng)的pro文件如下:

QT 5.7    pro  設(shè)置詳解

此pro文件其實(shí)與本文第一張圖片相同。因?yàn)樗üこ滔嗤?,默認(rèn)pro文件也相同。

3.2 新建proDemo2工程(注意:模板選擇,項(xiàng)目:應(yīng)用程序;Qt Quick Application)。步驟如下:Qt Creator--->New Project--->應(yīng)用程序--->Qt Quick Application--->名稱為:proDemo2(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->Qt Quick component set : Qt Quick Controls1.2--->完成。對(duì)應(yīng)的pro文件如下:

QT 5.7    pro  設(shè)置詳解

此pro文件利用include引入了pri類型的文件。

3.3 新建proDemo3工程(注意:模板選擇,項(xiàng)目:應(yīng)用程序;Qt 控制臺(tái)應(yīng)用)。步驟如下:Qt Creator--->New Project--->應(yīng)用程序--->Qt 控制臺(tái)應(yīng)用--->名稱為:proDemo3(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->類信息保持不變--->完成。對(duì)應(yīng)的pro文件如下:

QT 5.7    pro  設(shè)置詳解

此pro文件去掉了CONFIG配置變量默認(rèn)的app_bundle項(xiàng),由于是控制臺(tái)應(yīng)用程序。

3.4 新建proDemo4工程(注意:模板選擇,項(xiàng)目:庫;C++庫)。步驟如下:Qt Creator--->New Project--->庫--->C++ 庫--->名稱為:proDemo4(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->類型:共享庫--->其他項(xiàng)均默認(rèn)--->完成。對(duì)應(yīng)的pro文件如下:

QT 5.7    pro  設(shè)置詳解

此pro文件添加了unix環(huán)境的控制。

3.5 新建proDemo5工程(注意:模板選擇,項(xiàng)目:庫;C++庫)。步驟如下:Qt Creator--->New Project--->庫--->C++ 庫--->名稱為:proDemo5(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->類型:靜態(tài)鏈接庫--->其他項(xiàng)均默認(rèn)--->完成。對(duì)應(yīng)的pro文件如下:

QT 5.7    pro  設(shè)置詳解

此pro文件與3.4工程的大區(qū)別是為配置變量CONFIG添加了staticlib值,因?yàn)楣こ填愋瓦x擇為靜態(tài)鏈接庫。

3.6 新建proDemo6工程(注意:模板選擇,項(xiàng)目:庫;C++庫)。步驟如下:Qt Creator--->New Project--->庫--->C++ 庫--->名稱為:proDemo6(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->類型:Qt Plugin--->其他項(xiàng)均默認(rèn)--->完成。對(duì)應(yīng)的pro文件如下:

QT 5.7    pro  設(shè)置詳解

此pro文件添加其他文件OTHER_FILES配置變量,另外,配置變量CONFIG添加了plugin值,因?yàn)楣こ填愋瓦x擇為Qt Plugin。

3.7 新建proDemo7工程(注意:模板選擇,項(xiàng)目:其他項(xiàng)目;Qt單元測(cè)試)。步驟如下:Qt Creator--->New Project--->其他項(xiàng)目--->Qt單元測(cè)試--->名稱為:proDemo7(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->其他項(xiàng)均默認(rèn)--->完成。對(duì)應(yīng)的pro文件如下:

QT 5.7    pro  設(shè)置詳解

此pro文件為QT變量添加testlib值。

3.8 新建proDemo8工程(注意:模板選擇,項(xiàng)目:其他項(xiàng)目;Qt4設(shè)計(jì)師自定義控件)。步驟如下:Qt Creator--->New Project--->其他項(xiàng)目--->Qt4設(shè)計(jì)師自定義控件--->名稱為:proDemo8(創(chuàng)建路徑自己擬定,本地為F:\Source\proStudy)--->控件類:customControl--->其他項(xiàng)全部默認(rèn)--->完成。對(duì)應(yīng)的pro文件如下:

QT 5.7    pro  設(shè)置詳解

此pro文件中當(dāng)Qt版本大于4.0時(shí)為QT變量添加值designer。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享題目:QT5.7pro設(shè)置詳解-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://aaarwkj.com/article34/dpjose.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、全網(wǎng)營銷推廣、App開發(fā)、網(wǎng)站內(nèi)鏈、Google、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
欧美国产免费高清视频| 麻豆国产传媒69国产| 一欧美一区二区三区| 国产激情在线四五区观看| 播放欧美日韩特黄大片| 漂亮人妻少妇中文字幕| 欧美精品成人免费在线 | 2021亚洲精品午夜精品国产| 亚洲自偷精品视频自拍| 五月天丁香婷婷狠狠狠| 欧美一区二区日本国产激情| 国产综合亚洲欧美日韩在线| 日本韩国黄色三级三级| 在线免费观看欧美黄片| 久久热在线视频精品视频| 91超碰这里只有精品国产| 中文字幕四虎在线观看| 国产精品av一区二区在线| 亚洲黄色成人在线观看| 天堂网一区二区三区四区| 熟女精品国产一区二区三区 | 久久熟妇少妇亚洲精品| 亚洲视频一区二区精品| 国产一区999精品在线| 国产在线精彩视频自拍| 亚洲欧美成人综合网站| 一区二区精品人妻av| 日本欧美精品一区二区精选| 国产区青青操自拍视频| 中文字幕日本人妻乱码| 日韩在线一区二区视频观看 | 日本高清一区二区网站| 欧美日韩天堂一区二区| 蜜桃网站视频免费观看| 国产精品日本欧美久久久| 日本不卡一区二区在线视频| 偷拍丝袜美腿亚洲超碰| 欧美日韩激情在线不卡三区| 国产又粗又长又大又长| 亚洲av优选在线观看精品| 国产在线视频不卡一线路|