qmake常用語法三


關鍵字:常用變量

一、TEMPLATE變量:

  生成Makefile采用的模板。以下是可供選擇的模板:

  app:建立一個應用程序Makefile,這個也是默認值,沒有指定模板是默認是這個。

  lib:建立一個庫的Makefile。

  vcapp:建立一個應用程序的visual studio項目文件。

  vclib:建立一個庫的visual studio項目文件。

  subdirs:創建一個能夠進入子目錄並且為之生成為它調用make的Makefile。需要在后面用SUBDIRS=XX來指定那些子目錄。

1、app模板:

  app模板告訴qmake為建立一個應用程序生成一個Makefile。當使用這個模板時,下面這些qmake系統變量是被承認的。你應該在你的.pro文件中使用它們來為你的應用程序指定特定信息。

  HEADERS:需要包含的頭文件的列表。

  SOURCES:需要的源文件的列表。

  FORMS:需要的.ui文件的列表。

  LEXSOURCES:所有lex源文件的列表。

  YACCSOURCES:所有yacc源文件的列表。

  TARGET:可執行應用程序的名稱。默認值為項目文件的名字。

  DESTDIR:放置可執行程序目標的目錄。

  OBJECTS_DIR:放置obj中間文件的目錄。

  MOC_DIR: moc轉換文件路徑。

  RCC_DIR: 資源文件路徑。

  UI_DIR:ui文件轉換的路徑。

  RESOURCES:需要包含的資源文件。

  LIBS:依賴庫的路徑和名稱 -L{xxdirxx} -l{xxnamexx}。

  LIBEXT: 產生lib的后綴。

  DEFINES:應用程序所需的額外的宏定義列表。

  INCLUDEPATH:應用程序所需的額外的包含路徑列表。

  DEPENDPATH:應用程序所依賴的搜索路徑。

  VPATH:尋找補充文件的搜索路徑。

  DEF_FILE:只有Windows需要:應用程序所要連接的.def文件。

  RC_FILE:只有Windows需要:應用程序的資源文件。

  RES_FILE:只有Windows需要:應用程序所要連接的資源文件。

  TRANSLATIONS: 多國語言支持文件。

  INSTALLS: 要安裝的文件。

  target.path: 安裝的路徑。

  詳細請參考Qt幫助條目:qmake Variable Reference。

2、lib模板:

  lib模板告訴qmake為建立一個庫而生成makefile。當使用這個模板時,除了“app”模板中提到系統變量,還有一個VERSION是被支持的。你需要在為庫指定特定信息的.pro文件中使用它們。

  VERSION:目標庫的版本號,例如:1.2.3。

3、subdirs模板:

  subdirs模板告訴qmake生成一個makefile,它可以進入到特定子目錄並為這個目錄中的項目文件生成makefile並且為它調用make。這個模板只有一個系統變量SUBDIRS可以被識別。

  SUBDIRS:這個變量中包含了所要處理的含有項目文件的子目錄的列表。這個項目文件的名稱是和子目錄同名的,這樣qmake就可以發現它。例如,如果子目里是“subapp”,那么在這個目錄中的項目文件應該被叫做subapp.pro

 

二、CONFIG變量:

  配置變量,指定了編譯器所要使用的選項和所需要鏈接的庫。

1、控制編譯器標志的選項:

  release:應用程序將以release模式連編,如果“debug”被指定,它將被忽略。

  debug:應用程序將以debug模式連編。

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

  warn_off:編譯器會輸出盡可能少的警告信息。

2、控制需要連接的庫的選項:

  qt:應用程序是一個Qt應用程序,並且Qt庫將會被鏈接。

  thread:應用程序是一個多線程程序。

  x11:應用程序是一個x11應用程序或者庫。

  windows:只用於app模板,應用程序是一個windows下的窗口應用程序。

  console:只用於app模板,應用程序是一個windows下的控制台應用程序。

  dll:只用於lib模板,庫是一個共享庫。

  staticlib:只用於lib模板,庫是一個靜態庫。

  plugin:只用於lib模板,庫是一個插件,這將會使dll選項生效。

  例如:CONFIG += qt debug,使用qt庫的應用程序,debug版本。

3、注意事項:必須使用“+=”,不要使用“=”,否則原來的設置會被清除。

 

三、變量用法:

1、自定義變量:

  MY_VARIABLE = value

  定義了一個變量MY_VARIABLE,並將值設置為value。

2、變量值的傳遞:

  可以通過在其它任何一個變量的變量名前加$$來把這個變量的值分配給當前的變量。例如:

  MY_DEFINES = $$DEFINES  

  現在MY_DEFINES變量包含了項目文件在這點時DEFINES變量的值。這也和下面的語句一樣: 

  MY_DEFINES = $${DEFINES}

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM