freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

qmake使用手冊(cè)-展示頁(yè)

2025-07-04 23:18本頁(yè)面
  

【正文】 t64 tru64g++ win32watc freebsdg++ irix64 macxpbuilder reliantcds ultrixg++ win32visa hpuxacc irixg++ macxg++ scog++ unixwareg hpuxacc irixn32 solaris64 unixware7ccenvvar是下面之一時(shí),環(huán)境變量應(yīng)該被設(shè)置到qws/envvar:linuxarmg++ linuxgenericg++ linuxmipsg++ linuxx86g++ linuxfreebsdg++ linuxipaqg++ linuxsolarisg++ qnxrtpg++這個(gè)必須設(shè)置到Qt被(或者將被)安裝到的地方。一旦環(huán)境變量被設(shè)置到qmake目錄,$QTDIR/qmake,比如C:\qt\qmake,現(xiàn)在根據(jù)你的編譯器運(yùn)行make或者nmake。創(chuàng)建一個(gè)項(xiàng)目文件qmake使用儲(chǔ)存在項(xiàng)目(.pro)文件中的信息來(lái)決定Makefile文件中該生成什么。這里是一個(gè)簡(jiǎn)單的示例項(xiàng)目文件: SOURCES = HEADERS = CONFIG += qt warn_on release我們將會(huì)提供一行一行的簡(jiǎn)要解釋,具體細(xì)節(jié)將會(huì)在手冊(cè)的后面的部分解釋。在這個(gè)例子中,恰好只有一個(gè)文件。HEADERS這一行中通常用來(lái)指定為這個(gè)應(yīng)用程序創(chuàng)建的頭文件,舉例來(lái)說(shuō): HEADERS += 列出源文件的任何一個(gè)方法對(duì)頭文件也都適用。 CONFIG += qt warn_on release在這里使用“+=”,是因?yàn)槲覀兲砑游覀兊呐渲眠x項(xiàng)到任何一個(gè)已經(jīng)存在中。CONFIG一行中的qt部分告訴qmake這個(gè)應(yīng)用程序是使用Qt來(lái)連編的。CONFIG一行中的warn_on部分告訴qmake要把編譯器設(shè)置為輸出警告信息的。在開發(fā)過(guò)程中,程序員也可以使用debug來(lái)替換release,稍后會(huì)討論這里的。應(yīng)用程序的執(zhí)行文件的名稱必須和項(xiàng)目文件的名稱一樣,但是擴(kuò)展名是跟著平臺(tái)而改變的。生成Makefile當(dāng)你已經(jīng)創(chuàng)建好你的項(xiàng)目文件,生成Makefile就很容易了,你所要做的就是先到你所生成的項(xiàng)目文件那里然后輸入:Makefile可以像這樣由“.pro”文件生成: qmake o Makefile 對(duì)于Visual Studio的用戶,qmake也可以生成“.dsp”文件,例如: qmake t vcapp o qmake教程介紹這個(gè)教程可以教會(huì)你如何使用qmake。開始很簡(jiǎn)單讓我們假設(shè)你已經(jīng)完成了你的應(yīng)用程序的一個(gè)基本實(shí)現(xiàn),并且你已經(jīng)創(chuàng)建了下述文件: 你對(duì)這個(gè)應(yīng)用程序的配置僅僅知道的另一件事是它是用Qt寫的。你所要做的第一件事是添加一些行來(lái)告訴qmake關(guān)于你所開發(fā)的項(xiàng)目中的源文件和頭文件這一部分。為了做到這點(diǎn),你需要使用SOURCES變量。你需要寫成這樣: SOURCES += 我們對(duì)項(xiàng)目中的每一個(gè)源文件都這樣做,直到結(jié)束: SOURCES += SOURCES += 如果你喜歡使用像Make一樣風(fēng)格的語(yǔ)法,你也可以寫成這樣,一行寫一個(gè)源文件,并用反斜線結(jié)尾,然后再起新的一行: SOURCES = \ 現(xiàn)在源文件已經(jīng)被列到項(xiàng)目文件中了,頭文件也必須添加。當(dāng)你做完這些時(shí),你的項(xiàng)目文件就像現(xiàn)在這樣: HEADERS += SOURCES += SOURCES += 目標(biāo)名稱是自動(dòng)設(shè)置的,它被設(shè)置為和項(xiàng)目文件一樣的名稱,但是為了適合平臺(tái)所需要的后綴。如果你想設(shè)置一個(gè)不同的名字,你可以在項(xiàng)目文件中設(shè)置它: TARGET = helloworld最后一步是設(shè)置CONFIG變量。最終完成的項(xiàng)目文件應(yīng)該是這樣的: CONFIG += qt HEADERS += SOURCES += SOURCES += 你現(xiàn)在可以使用qmake來(lái)為你的應(yīng)用程序生成Makefile。使應(yīng)用程序可以調(diào)試應(yīng)用程序的發(fā)布版本不包含任何調(diào)試符號(hào)或者其它調(diào)試信息。通過(guò)在項(xiàng)目文件的CONFIG變量中添加“debug”就可以很簡(jiǎn)單地實(shí)現(xiàn)。添加特定平臺(tái)的源文件在編了幾個(gè)小時(shí)的程序之后,你也許開始為你的應(yīng)用程序編寫與平臺(tái)相關(guān)的部分,并且決定根據(jù)平臺(tái)的不同編寫不同的代碼。我們不能僅僅把這兩個(gè)文件放到SOURCES變量中,因?yàn)槟菢拥脑挄?huì)把這兩個(gè)文件都加到Makefile中。為Windows平臺(tái)添加的依賴平臺(tái)的文件的簡(jiǎn)單的作用域看起來(lái)就像這樣: win32 { SOURCES += }所以如果qmake運(yùn)行在Windows上的時(shí)候?,F(xiàn)在接下來(lái)我們要做的就是添加一個(gè)X11依賴文件的作用域。如果一個(gè)文件不存在,停止qmake如果某一個(gè)文件不存在的時(shí)候,你也許不想生成一個(gè)Makefile。我們可以通過(guò)使用error()函數(shù)把正在運(yùn)行的qmake停下來(lái)。只要很簡(jiǎn)單地用這個(gè)函數(shù)來(lái)替換作用域條件。 CONFIG += qt debug HEADERS += SOURCES += SOURCES += win32 { SOURCES += } x11 { SOURCES += } !exists( ) { error( No file found ) }像前面一樣使用qmake來(lái)生成Makefile。檢查多于一個(gè)的條件假設(shè)你使用Windows并且當(dāng)你在命令行運(yùn)行你的應(yīng)用程序的時(shí)候你想能夠看到qDebug()語(yǔ)句。我們可以很容易地把console添加到CONFIG行中,這樣在Windows下,Makefile就會(huì)有這個(gè)設(shè)置。這需要兩個(gè)嵌套的作用域;只要生成一個(gè)作用域,然后在它里面再生成另一個(gè)。介紹qmakeqmake是用來(lái)為不同的平臺(tái)的開發(fā)項(xiàng)目創(chuàng)建makefile的Trolltech開發(fā)一個(gè)易于使用的工具。qmake可以供任何一個(gè)軟件項(xiàng)目使用,而不用管它是不是用Qt寫的,盡管它包含了為支持Qt開發(fā)所擁有的額外的特征。項(xiàng)目文件可以由開發(fā)者生成。不用修改項(xiàng)目文件,qmake也可以為為Microsoft Visual Studio生成項(xiàng)目。如果你在Solaris上使用gcc,你需要把QMAKESPEC環(huán)境變量設(shè)置為solarisg++。這些設(shè)置適用于你要使用qmake的任何項(xiàng)目,請(qǐng)不要修改它,除非你是一個(gè)專家。項(xiàng)目(.pro)文件一個(gè)項(xiàng)目文件是用來(lái)告訴qmake關(guān)于為這個(gè)應(yīng)用程序創(chuàng)建makefile所需要的細(xì)節(jié)?!啊弊⑨屇憧梢詾轫?xiàng)目文件添加注釋。模板模板變量告訴qmake為這個(gè)應(yīng)用程序生成哪種makefile。 app 建立一個(gè)應(yīng)用程序的makefile?!癮pp”模板“app”模板告訴qmake為建立一個(gè)應(yīng)用程序生成一個(gè)makefile。默認(rèn)值為項(xiàng)目文件的名稱。)你只需要使用那些你已經(jīng)有值的系統(tǒng)變量,例如,如果你不需要任何額外的INCLUDEPATH,那么你就不需要指定它,qmake會(huì)為所需的提供默認(rèn)值。使用“=”會(huì)用新值替換原有的值,例如,如果我們寫了DEFINES=QT_DLL,其它所有的定義都將被刪除。當(dāng)使用這個(gè)模板時(shí),除了“app”模板中提到系統(tǒng)變量,還有一個(gè)VERSION是被支持的。 VERSION 目標(biāo)庫(kù)的版本號(hào),比如。在這個(gè)模板中只有一個(gè)系統(tǒng)變量SUBDIRS可以被識(shí)別。這個(gè)項(xiàng)目文件的名稱是和子目錄同名的,這樣qmake就可以發(fā)現(xiàn)它。CONFIG變量配置變量指定了編譯器所要使用的選項(xiàng)和所需要被連接的庫(kù)。下面這些選項(xiàng)控制著使用哪些編譯器標(biāo)志:如果“debug”被指定,它將被忽略。 debug 應(yīng)用程序?qū)⒁詃ebug模式連編。 warn_on 編譯器會(huì)輸出盡可能多的警告信息。下面這些選項(xiàng)定義了所要連編的庫(kù)/應(yīng)用程序的類型:例如,如果你的應(yīng)用程序使用Qt庫(kù),并且你想把它連編為一個(gè)可調(diào)試的多線程的應(yīng)用程序,你的項(xiàng)目文件應(yīng)該會(huì)有下面這行: CONFIG += qt thread debug注意,你必須使用“+=”,不要使用“=”,否則qmake就不能正確使用連編Qt的設(shè)置了,比如沒(méi)法獲得所編譯的Qt庫(kù)的類型了。qmake提供了很多更強(qiáng)大的功能,比如你可以使用一個(gè)簡(jiǎn)單的項(xiàng)目文件來(lái)為多個(gè)平臺(tái)生成makefile。這里能夠提供更多的可供使用的操作符,但是其中的一些需要謹(jǐn)慎地使用,因?yàn)樗鼈円苍S會(huì)比你期待的改變的更多。使用方法如下: TARGET = myapp這將會(huì)設(shè)置TARGET變量為myapp?!?=”操作符這個(gè)操作符將會(huì)向一個(gè)變量的值的列表中添加一個(gè)值?!?”操作符這個(gè)操作符將會(huì)從一個(gè)變量的值的列表中移去一個(gè)值?!?=”操作符這個(gè)操作符僅僅在一個(gè)值不存在于一個(gè)變量的值的列表中的時(shí)候,把它添加進(jìn)去?!皛=”操作符這個(gè)操作符將會(huì)替換任何與指定的值的正則表達(dá)式匹配的任何值。作用域作用域和“if”語(yǔ)句很相似,如果某個(gè)條件為真,作用域中的設(shè)置就會(huì)被處理。如果在Windows平臺(tái)以外的平臺(tái)上使用qmake,這個(gè)定義就會(huì)被忽略。我們想這樣使用作用域來(lái)達(dá)到這種否定效果: !win32 { DEFINES += QT_DLL }CONFIG行中的任何條目也都是一個(gè)作用域。這樣將會(huì)使在不丟失特定條件下可能所需的所有自定義設(shè)置的條件下,很容易地修改項(xiàng)目中的配置。比如: CONFIG += qt warn_on debug debug { TARGET = myappdebug } release { TARGET = myapp }在上面的代碼中,兩個(gè)作用域被創(chuàng)建,它們依賴于CONFIG行中設(shè)置的是什么。如果release在CONFIG行中,那么TARGET變量將會(huì)被設(shè)置為myapp。例如,如果你想檢查平臺(tái)是否是Windows并且線程設(shè)置是否被設(shè)定,你可以這樣寫: win32 { thread { DEFINES += QT_THREAD_SUPPORT } }為了避免寫出許多嵌套作用域,你可以這樣使用冒號(hào)來(lái)嵌套作用域: win32:thread { DEFINES += QT_THREAD_SUPPORT }一旦一個(gè)測(cè)試被執(zhí)行,你也許也要做else/elseif操作。這需要使用特殊的“else”作用域,它可以和其它作用域進(jìn)行組合(也可以向上面一樣使用冒號(hào)),比如: win32:thread { DEFINES += QT_THREAD_SUPPORT } else:debug { DEFINES += QT_NOTHREAD_DEBUG } else { warning(Unknown configuration) }變量到目前為止我們遇到的變量都是系統(tǒng)變量,比如DEFINES、SOURCES和HEADERS。創(chuàng)建自己的變量很容易,只要命名它并且分配一些東西給它。你也可以通過(guò)在其它任何一個(gè)變量的變量名前加$$來(lái)把這個(gè)變量的值分配給當(dāng)前的變量。這也和下面的語(yǔ)句一樣: MY_DEFINES = $${DEFINES}第二種方法允許你把一個(gè)變量和其它變量連接起來(lái),而不用使用空格。無(wú)論如何,如果你需要立即設(shè)置一個(gè)環(huán)境變量,然后你就可以使用$$()方法。另外你可以在替換的變量里調(diào)用內(nèi)置函數(shù)。如果這個(gè)變量的值為非空,那么就會(huì)在值的前面加一個(gè)前綴before和一個(gè)后綴after。如果你需要在glue、before或者after中使用空格的話,你必須提供它們。如果variablename不夠長(zhǎng),這將會(huì)返回一個(gè)空串。find( variablename, substr )這將會(huì)放置variablename中所有匹配substr的值。 MY_VAR = one two three four MY_VAR2 = $$join(MY_VAR, L, L) Lfive MY_VAR3 = $$member(MY_VAR, 2) $$find(MY_VAR, t.*)MY_VAR2將會(huì)包含“Lone Ltwo Lthree Lfour Lfive”,并且MYVAR3將會(huì)包含“three two three”。比如你可以使用這個(gè)來(lái)詢問(wèn)有關(guān)平臺(tái)的信息。這些測(cè)試也可以用在作用域中(就像上面一樣),在一些情況下,忽略它的測(cè)試值,它自己使用測(cè)試函數(shù)是很有用的。例如: contains( CONFIG, thread ) { DEFINES += QT_THREAD_SUPPORT }如果thread存在于CONFIG變量的值的列表中時(shí),那么QT_THREAD_SUPPORT將會(huì)被加入到DEFINES變量的值的列表中。例如: count( DEFINES, 5 ) { CONFIG += debug }error( string )這個(gè)函數(shù)輸出所給定的字符串,然后會(huì)使qmake退出。exists( filename )如果指定文件存在,那么這個(gè)作用域中的設(shè)置將會(huì)被處
點(diǎn)擊復(fù)制文檔內(nèi)容
語(yǔ)文相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1