Qtcreator编译中被忽略的qmake-构建、运行、qmake

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Osean_li/article/details/80044812

引言

在使用Qtcreator 编译代码的时候,我经常用 到清除,重新构建
这里写图片描述

一直也没有什么问题,今天在编译的时候,总是编译不过。
只是清除和重新构建。
后来执行qmake 后编译通过。
下面探究qmake的功能

qmake

首先看看Qt的帮助文档中的描述
这里写图片描述

  • qmake:根据实际环境创建项目文件.pro 并且运行qmake生成适当的Makefile

qmake可以供任何一个软件项目使用,而不用管它是不是用Qt写的,尽管它包含了为支持Qt开发所拥有的额外的特征。

qmake基于一个项目文件这样的信息来生成makefile。项目文件可以由开发者生成。项目文件通常很简单,但是如果需要它是非常完善的。不用修改项目文件,qmake也可以为为Microsoft Visual Studio生成项目。

qmake语言

操作符

在许多项目文件中,赋值符号(=)和追加符号(+=)被用来包含项目中的全部信息,典型的使用
模式是给一个变量赋一列值,然后根据各种测试追加更多的值,因为qmake使用默认的值定义了
一些变量,所以有时候使用移除符号(-=)剔除一些不需要的值也是必要的。下面几节描述了
如何使用运算符来操作变量的内容。

分配值

“=“运算符为变量分配一个值:
TARGET = myapp
上面的一行将TARGET的值设置为myapp,myapp会覆盖TARGET之前的所有值。

追加值

”+=“运算符向变量的值列表中追加一个新值。
DEFINES += USE_MY_STUFF
上述行将USE_MY_STUFF附加到要在生成的Makefile中放置的预处理器定义的列表中。

移除值

”-=“运算符从变量的值列表中删除一个值
DEFINES -= USE_MY_STUFF

变量扩展

$$运算符可以提取一个变量的值,还可以被用来在两个变量之间传递值或者 提供给函数

项目(.pro)文件

  一个项目文件是用来告诉qmake关于为这个应用程序创建makefile所需要的细节。例如,一个源文件和头文件的列表、任何应用程序特定配置、例如一个必需要连接的额外库、或者一个额外的包含路径,都应该放到项目文件中。

CONFIG变量

  配置变量指定了编译器所要使用的选项和所需要被连接的库。配置变量中可以添加任何东西,但只有下面这些选项可以被qmake识别。下面这些选项控制着使用哪些编译器标志:

  • release - 应用程序将以release模式连编。如果“debug”被指定,它将被忽略。
  • debug - 应用程序将以debug模式连编。
  • warn_on - 编译器会输出尽可能多的警告信息。如果“warn_off”被指定,它将被忽略。
  • warn_off - 编译器会输出尽可能少的警告信息。

qmake

根据实际环境创建项目文件.pro 并且运行qmake生成适当的Makefile

构建

构建是增量编译,只编译有变化部分

重新构建

是把所有部分都重新编译

运行

有改动则根据已有的Makefile进行编译,执行构建和重新构建时如果没有Makefile,会根据.pro文件等生成Makefile后再编译

所以运行顺序应该是:qmake-构建-运行

虽然还不知道为什么以前没有qmake 也可以,但是以后还是按照步骤来吧!!!

没有更多推荐了,返回首页