Qtcreator中項(xiàng)目的構(gòu)建配置和運(yùn)行設(shè)置的步驟_第1頁(yè)
Qtcreator中項(xiàng)目的構(gòu)建配置和運(yùn)行設(shè)置的步驟_第2頁(yè)
Qtcreator中項(xiàng)目的構(gòu)建配置和運(yùn)行設(shè)置的步驟_第3頁(yè)
Qtcreator中項(xiàng)目的構(gòu)建配置和運(yùn)行設(shè)置的步驟_第4頁(yè)
Qtcreator中項(xiàng)目的構(gòu)建配置和運(yùn)行設(shè)置的步驟_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第Qtcreator中項(xiàng)目的構(gòu)建配置和運(yùn)行設(shè)置的步驟使用QtCreator集成開發(fā)環(huán)境構(gòu)建和運(yùn)行程序是一件非常簡(jiǎn)單的事情,一個(gè)按鈕或者一個(gè)快捷鍵搞定全部,大家已經(jīng)都了解了。但是,這些看起來(lái)簡(jiǎn)單的過(guò)程,背后到底發(fā)生了什么呢?

點(diǎn)擊QtCreator項(xiàng)目模式,可以看到當(dāng)前項(xiàng)目的配置界面:

在打開具體的項(xiàng)目之后,QtCreator的項(xiàng)目模式才會(huì)變得可用。對(duì)于打開的項(xiàng)目,比如HelloWorld項(xiàng)目,可配置的內(nèi)容如上圖左側(cè)顯示的五大類,分別是“BuildRun(構(gòu)建和運(yùn)行)”“編輯器”“代碼風(fēng)格”“依賴關(guān)系”“ClangStaticAnalyzer(Clang靜態(tài)分析)”,最常用的就是“BuildRun”。

對(duì)于每個(gè)Qt套件,又可以分別配置構(gòu)建時(shí)環(huán)境、命令和運(yùn)行時(shí)環(huán)境、命令。如果需要給生成的可執(zhí)行程序如*.exe附加命令參數(shù),那就可以點(diǎn)擊Qt套件名稱下方的“Run”設(shè)置,給可執(zhí)行程序附加參數(shù)。下面重點(diǎn)關(guān)注“Build”設(shè)置。

在“Build”設(shè)置里,上方組合框里可以選擇構(gòu)建類型(Debug、Release或者Profile),并且可以自己添加新的構(gòu)建類型(一般沒(méi)必要)。

影子構(gòu)建(Shadowbuild)

接下來(lái)“概要”里面,QtCreator默認(rèn)使用影子構(gòu)建方式(Shadowbuild),這種構(gòu)建項(xiàng)目的方式是將構(gòu)建過(guò)程中的中間文件和目標(biāo)程序都放到獨(dú)立的構(gòu)建目錄中,實(shí)現(xiàn)源代碼目錄和構(gòu)建目錄的徹底分離,這對(duì)程序源代碼的發(fā)布很方便,不會(huì)將構(gòu)建過(guò)程中的中間文件混雜進(jìn)來(lái)。

對(duì)于項(xiàng)目HelloWorld,它的源代碼路徑是D:\QtDemo\HelloWorld,而上圖中影子構(gòu)建的目錄是在D:\QtDemo\build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug,源碼文件夾和構(gòu)建文件夾都在父文件夾QtDemo里。

影子構(gòu)建目錄的命名規(guī)則是:build-項(xiàng)目名-構(gòu)建套件名-構(gòu)建類型。示范的項(xiàng)目名HelloWorld,套件名DesktopQt5.9.0MinGW32bit,構(gòu)建類型為Debug,合成之后的構(gòu)建目錄里不能帶空格和點(diǎn)號(hào),所以把空格和點(diǎn)號(hào)都換成下劃線,得到build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug。項(xiàng)目構(gòu)建時(shí)生成的中間文件和最終的目標(biāo)程序都可以在影子構(gòu)建目錄里找到。

接著是“構(gòu)建步驟”,前面提到過(guò)qmake編譯程序的三板斧,因?yàn)閜ro文件已經(jīng)由QtCreator生成好了,所以這時(shí)候編譯程序只需要剩下的兩板斧:

①用qmake生成Makefile到構(gòu)建目錄;

②在構(gòu)建目錄里面執(zhí)行make(mingw32-make)。

對(duì)于這兩板斧的細(xì)節(jié)可以點(diǎn)開qmake和Make兩行右邊的詳情進(jìn)行查看,這里不額外截圖了,僅解釋一下上圖中qmake命令的選項(xiàng)參數(shù):

-r選項(xiàng)是指遞歸檢查項(xiàng)目文件夾的意思;

-specwin32-g++選項(xiàng)參數(shù)是指使用win32-g++定制腳本來(lái)生成Makefile,對(duì)于不同的編譯器和操作系統(tǒng)平臺(tái)會(huì)使用不同的定制腳本,win32-g++是專門針對(duì)Windows系統(tǒng)MinGW編譯環(huán)境的定制腳本(實(shí)際的定制腳本位于QTDIR/mkspecs/win32-g++文件夾里);

"CONFIG+=debug"是指生成debug類型的目標(biāo)程序,對(duì)于優(yōu)化發(fā)行版,對(duì)應(yīng)的就是“CONFIG+=release”,如果這兩個(gè)CONFIG都不加,那么默認(rèn)生成release類型的目標(biāo)程序。

查看項(xiàng)目構(gòu)建和項(xiàng)目運(yùn)行時(shí)的實(shí)際情況

關(guān)于Qt項(xiàng)目構(gòu)建的設(shè)置暫時(shí)介紹這些,接下來(lái)我們看看關(guān)于項(xiàng)目構(gòu)建和項(xiàng)目運(yùn)行時(shí)的實(shí)際情況?;氐絈tCreator編輯模式,點(diǎn)擊最下面一排輸出面板里的“編譯輸出”面板,可以看到生成項(xiàng)目過(guò)程中的編譯、鏈接命令:

QtCreator實(shí)際使用的編譯鏈接命令比我們之前演示的編譯鏈接命令復(fù)雜太多了,之前使用的是極度精簡(jiǎn)的命令。如果項(xiàng)目的編譯鏈接沒(méi)有出問(wèn)題,不用太在意“編譯輸出”面板里的東西,如果編譯鏈接過(guò)程出錯(cuò)了,就需要查看“編譯輸出”面板里的問(wèn)題了。雖然QtCreator編譯鏈接命令復(fù)雜,但大致過(guò)程和《Qt.ui文件的使用》最后那張生成過(guò)程圖是類似的。

與“編譯輸出”面板相比,“應(yīng)用程序輸出”面板更為常用,對(duì)于調(diào)試信息的輸出、打印到命令行的輸出等,QtCreator都會(huì)捕捉到,并顯示到“應(yīng)用程序輸出”面板,如下圖所示:

“應(yīng)用程序輸出”面板標(biāo)題欄位置還有些小按鈕,感興趣的讀者可以自己試試,有清空輸出內(nèi)容、重新運(yùn)行程序、停止當(dāng)前運(yùn)行程序之類快捷功能。

最后說(shuō)明一下目標(biāo)程序的運(yùn)行環(huán)境,如果希望從集成開發(fā)環(huán)境為生成的目標(biāo)程序加命令行參數(shù),那么需要用到項(xiàng)目模式的“運(yùn)行設(shè)置”:

點(diǎn)擊“Run”按鈕,就會(huì)進(jìn)入運(yùn)行配置界面,可以看到上圖幾個(gè)關(guān)鍵的路徑和參數(shù)設(shè)置:

路徑/參數(shù)說(shuō)明

Executable可執(zhí)行程序路徑,或叫目標(biāo)程序路徑,生成的exe文件為D:\QtDemo\build-HelloWorld-Desktop_Qt_5_9_0_MinGW_32bit-Debug\debug\HelloWorld.exe,如果進(jìn)入該路徑,直接運(yùn)行exe文件,那么exe文件默認(rèn)是無(wú)法正常運(yùn)行的,因?yàn)槿鄙龠\(yùn)行時(shí)依賴的動(dòng)態(tài)庫(kù)和環(huán)境變量。需要從開始菜單啟動(dòng)Qt命令行,然后從命令行啟動(dòng)exe才能正常運(yùn)行。

Commandlinearguments目標(biāo)程序的命令行參數(shù),可以在這里手動(dòng)添加命令行參數(shù),這樣每次QtCreator啟動(dòng)目標(biāo)程序時(shí)都會(huì)附加該參數(shù)。

Workingdirectory目標(biāo)程序工作路徑,這里需要特別注意,目標(biāo)程序既不是從源代碼路徑啟動(dòng),也不是從它自己的可執(zhí)行程序路徑啟動(dòng),而是從工作路徑啟動(dòng),這個(gè)工作路徑默認(rèn)與影子構(gòu)建路徑一樣。因此,如果在程序代碼里面使用相對(duì)路徑操作文件,如“data.db”,那么這個(gè)文件應(yīng)該放到工作路徑,這樣目標(biāo)程序從QtCreator啟動(dòng)時(shí),才能找到相對(duì)路徑里的文件。

運(yùn)行設(shè)置里面還有一個(gè)重要的設(shè)置就是RunEnvironment,運(yùn)行時(shí)環(huán)境變量的設(shè)置,我們標(biāo)出其中重要的變量如下:

讀者一般對(duì)PATH環(huán)境變量比較熟悉,就是大量可執(zhí)行程序*.exe和依賴庫(kù)*.dll的路徑,程序啟動(dòng)時(shí)會(huì)從PATH環(huán)境變量找尋依賴的dll并加載。Qt也為PATH添加了自己的依賴庫(kù)路徑,新增的有三個(gè)路徑:

D:\Qt\5.9\mingw53_32\lib;

D:\Qt\5.9\mingw53_32\bin;

D:\Qt\Tools\mingw530_32\bin;

第一個(gè)是編譯時(shí)依賴庫(kù)的路徑,第二個(gè)是Qt庫(kù)自己可執(zhí)行程序和動(dòng)態(tài)庫(kù)路徑,第三個(gè)是MinGW編譯環(huán)境的可執(zhí)行程序和動(dòng)態(tài)庫(kù)路徑。

除了PATH環(huán)境變量,Qt庫(kù)專屬的QTDIR環(huán)境變量也很重要,Qt程序運(yùn)行時(shí)不僅依賴*.dll,還依賴Qt庫(kù)里面的插件、翻譯文件、設(shè)置文件等等,QTDIR是Qt庫(kù)的總目錄,Qt程序根據(jù)這個(gè)總目錄自動(dòng)去找尋子文件夾,子文件夾會(huì)包含Qt程序運(yùn)行時(shí)依賴的其他東

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論