关键字:常用变量

一、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}

  

转载于:https://www.cnblogs.com/yuohoo/archive/2013/03/11/2954631.html

qmake常用语法三相关推荐

  1. Linux Shell常用技巧(三) sed

    Linux Shell常用技巧(三) sed 八.流编辑器sed 8.1 sed简介 sed是stream editor的缩写,一种流编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区 ...

  2. Markdown通用的常用语法说明

    前言 Markdown 是一种轻量级的 标记语言,语法简洁明了.学习容易,还具有其他很多优点,目前被越来越多的人用来写作使用. Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表 ...

  3. 每天学一点儿shell:Shell的常用语法规则

    文章目录 Shell 参数传递 Shell 数组 Shell 基本运算符 算数运算符 关系运算符 布尔运算符 逻辑运算符 字符串运算符(重点) 文件测试运算符 Shell 常用语法 Shell 函数 ...

  4. 【shell】常用语法 -b file -c file -f file-d file -x file

    [shell]常用语法 -b file  -c file  -f file-d file  -x file      一.test条件判断 1,test文件测试: -b file     若文件存在且 ...

  5. 10_InfluxDB常用函数(三)变换类函数(DERIVATIVE, DIFFERENCE,ELAPSED,MOVING_AVERAGE,NON_NEGATIVE_DERIVATIVE)等

    10.InfluxDB学习之InfluxDB常用函数(三)变换类函数 转自:https://www.yisu.com/zixun/36847.html 10.1.DERIVATIVE()函数 作用:返 ...

  6. python选择某一行_Python常用语法有哪些 如何快速入门Python开发

    Python常用语法有哪些?如何快速入门Python开发?Python编程语言是最容易学习.并且功能强大的语言,吸引了很多人学习入行.很多人想知道如何快速入门Python开发,接下来就给大家分享Pyt ...

  7. axios-引入-常用语法-源码

    axios 1 axios的引入 1.1. axios是什么? 前端最流行的ajax请求库 react/vue官方都推荐使用axios发ajax请求 文档: https://github.com/ax ...

  8. md文件编写常用语法类型

    一:建立一个.md文件,例如readme.md 开始编写,整理后常用语法如下 ***评价规则确认0911----确定版!***1. 根据后台配置,控制买家是否可以主动评价,以及关闭窗口时是否需要弹窗强 ...

  9. 使用Visual Studio Code编写markdown文件以及转成PDF格式和markdown常用语法

    Markdown是一种轻量级标记语言,排版语法简洁,让人们更多地关注内容本身而非排版.它使用易读易写的纯文本格式编写文档,可与HTML混编,可导出 HTML.PDF 以及本身的 .md 格式的文件.因 ...

最新文章

  1. 超易懂的MapReduce思想讲解
  2. SQL Server数据库镜像部署 错误1418’处理及证书验证
  3. python编程怎么建立工程_教你如何用Python脚本快速创建项目
  4. R 中的哪些命令或者包让你相见恨晚?--转载知乎
  5. 拉普拉斯矩阵(Laplace Matrix)与瑞利熵(Rayleigh quotient)
  6. boost::basic_thread_pool相关的测试程序
  7. 微服务框架Demo.MicroServer运行手册
  8. Visual Stutio中win32控制台应用程序、win32项目、MFC项目的区别:
  9. 使用Python实现简易的数据标注工具
  10. Java Short类hashCode()方法及示例
  11. VSCode内npm run build编译打包时候报错:code ELIFECYCLE - (已解决)
  12. python去重复记录_python如何处理重复值数据?
  13. RAID10和RAID01的区别
  14. java批处理框架 pdf_史上最轻松入门之Spring Batch - 轻量级批处理框架实践
  15. 计算机模拟数学建模,计算机模拟数学建模
  16. vue随笔一之自执行函数
  17. ZK实现SASL认证+Kafka连接ZK
  18. ROS2教程(入门级):记录和回播数据
  19. TI OMAP平台BSP学习笔记之 - LCD 驱动(3)
  20. 从0到1,反距离加权IDW(Inverse Distance Weighted Interpolation) 插值变形算法

热门文章

  1. SpringCloud Config详解
  2. Linux查看依赖属于哪个软件包
  3. Android开发笔记(四十七)Runnable接口实现多线程
  4. Android开发笔记(十九)底部标签栏TabBar
  5. 数据库设计(五)第一范式(1NF)?
  6. Selenium2+python自动化34-获取百度输入联想词
  7. 蓝桥杯“基础练习:查找整数
  8. 判断IE关闭还是刷新
  9. 如何卸载 Internet Explorer 7
  10. 零拷贝实现高效的数据传输 -Efficient data transfer through zero copy