QMake 语言概述
- 一、概述
- 二、变量
- 三、替换函数
- 四、测试函数
一、概述
这里主要就是记录一下如何使用 qmake Manual,里面关于我对 qmake的理解,以及如何配置这个 qt 工程文件,通过配置工程文件,来构建出,APP,库,Qt插件等等,通过查看帮助来配置我们经常使用的内容。在使用的时候,我觉得最重要的其实就是在我这个博客专栏里面的 其他 QMake 相关的内容。这里的东西都是写在 *.pro 文件 或者 *.pri 文件里面,主要还是写在 pro文件里面的哈。
这个 查看 这个内容是在 Qt Assistant 里面
二、变量
Variables 描述 qmake在配置项目的生成过程时识别的变量。
用户也可以创建自定义变量,当遇到对一个名称赋值时,qmake会使用给定的名称创建一个新的变量。例如:
MY_VARIABLE = value
对于自定义的变量,没有任何使用限制,因为qmake将忽略它们,除非在处理作用域时需要对它们进行评估。
通过变量名使用 “ $$ ” 前缀可以将一个变量的值赋值给另一个变量。例如:
MY_VAR = $$CONFIG
现在 MY_VAR 变量包含工程文件中 CONFIG 变量在此处中的内容。等效于下列代码:
MY_VAR = $${CONFIG }
第二种写法允许将变量的内容追加到另一个值,不用空格分隔这两个值就会连接在一起。
例如,下列代码会确保最终的可执行文件有一个包含所使用模板的名称。
TARGET = myproject_$${TEMPLATE}
系统内置变量 定义了很多跟工程相关的内容,就像下面
我们点击 对应的索引就能跳转到对应详细的内容。
比如 FORMS 变量,他会说明这个是干嘛的,怎么用的之类的。
FORMS 这个变量指定在编译之前会由 uic 处理的 UI 文件。所有构建这些UI文件所需的依赖项、头文件和源文件都将自动添加到项目中。我们在添加界面类的时候,这个就会把 *.ui文件放在这里,当然我们可以注释掉这些ui.
还比如 CONFIG 变量,可以配置编译的模式是什么之类的
这个变量里面还可以指定 stl 使用,c++标准的版本之类的,很多很多内容。
三、替换函数
Qmake提供了在配置过程中处理变量内容的函数。这些函数称为替换函数(replace function)。通常,它们返回的值可以赋值给其他变量。可以在函数前加上$$操作符来获得这些值。替换函数可以分为内置函数和函数库。
就比如 dirname(file) 就是获取一个 字符串的路径
就比如要引入很多库的时候,就可以用这个功能,很多时候需要加 $$来区分变量和字符串
LIBPATH = /usr/local/lib
for(var, $$list(lib1 lib2 lib3)) {
LIBS += -L$$LIBPATH -l$$var
}
message($$LIBS)
四、测试函数
测试函数返回一个布尔值,我们可以在作用域的条件部分中对其进行测试。
测试函数可以分为内置函数和函数库。 测试函数和替换函数的区别就是一个是返回bool值,一个返回字符串的。
找到这个目录,点击对应的目录就能够查看详情
就比如说 equals(variablename, value) 函数
判断这个 variablename 是不是和 value 一致
还用得到的就比如 include(filename) 函数,我们一般把这个用来包含子目录,就是项目结构比较复杂的时候使用