qmake的学习

在最近学习QT的过程中,一直对qmake和makefile不甚理解。但是经常会有运行失败但是右键工程.pro执行qmake确突然行得通了的情况,所以决定对qmake和makefile多了解一下

一.qmake

QT帮助文档中关于qmake的介绍是:根据实际环境创建项目.pro文件并且运行qmake生成适当的Makefile。
查阅资料得知qmake可以利用源文件(包括头文件h,实现文件cpp,qt的ui文件等等)生成各种不同类型的工程,工程需要的Makefile文件,可执行的与不可执行的,这取决于所用的TEMPLATE(包括app、lib、subdirs、vcapp、vclib)。各种模板生成不同类型的工程,而每个模板可以用的qmake变量是不一样的比如常使用的SOURCES,HEADERS和TARGET都是app模板里的。
模板变量告诉qmake为这个应用程序生成哪种makefile。下面是可供使用的选择:
app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
lib - 建立一个库的makefile。
vcapp - 建立一个应用程序的Visual Studio项目文件。
vclib - 建立一个库的Visual Studio项目文件。
subdirs - 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。
.pro文件可以手工编写,也可以利用qmake命令智能的生成。一个项目文件是用来告诉qmake关于为这个应用程序创建makefile所需要的细节。

二.qmake和Makefile

qmake可以创建.pro文件,一般顺序是先创建.pro文件,然后由.pro文件生成Makefile文件。makefile文件保存了编译器和连接器的参数选项,还表述了所有源文件之间的关系(源代码文件需要的特定的包含文件,可执行文件要求包含的目标文件模 块及库等)。创建程序(make程序)首先读取makefile文件,然后再激活编译器,汇编器,资源编译器和连接器以便产生最后的输出,最后输出并生成 的通常是可执行文件(.exe)。创建程序利用内置的推理规则来激活编译器,以便通过对特定cpp文件的编译来产生特定的obj文件。
qmake:根据实际环境创建项目.pro文件并且运行qmake生成适当的Makefile。
构建:构建是增量编译,只编译有变化部分
重新构建:把所有部分重新编译
运行:有改动则根据已有的Makefile进行编译,执行构建和重新构建时如果没有Makefile,会根据,pro文件等生成Makefile后再编译。
运行的顺序是:qmake-构建-运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值