转自http://www.tuicool.com/articles/YNJBveQ
首先说一下qt编程的步骤,然后再仔细说一下qmake的使用。我看书上的都是编写好cpp文件后,分别执行命令: qmake -project、qmake、make,然后执行就可以了,但是要是我在一个文件夹下有多个cpp文件,qmake怎么识别?make生成的最后执行文件的名,我怎么能随心所欲的自己定?带着疑问,找了网上的资料,不如所衣,然后尝试着gcc编译的思想竟然撞到了。
其实我感觉要要真正了解qmake的使用方法,直接在终端下输入命令:qmake -help就可以了
qmake命令格式
qmake [mode] [options] [files]
mode选项
-project 生成.pro文件
-makefile 生成Makefile文件
options选项(这里介绍几个常用的,其它的自己去翻译上面,其实我也是刚学,用到的时候再学习哈)
-o file 输出文件名,比如qmake -project hello.cpp -o hello.pro,就会生成一个hello.pro文件,如果是qmake -project hello.cpp -o hello11.pro,就会生成一个hello11.pro文件
实验1
1、编写代码,命名为hello.cpp,如下
hello.cpp代码如下
#include<qapplication.h>
#include<qpushbutton.h>
int main(int argc,char *argv[])
{
QApplication a(argc,argv);
QPushButton hellobtn("Hello World!",0);
hellobtn.resize(200,50);
hellobtn.show();
return a.exec();
}
2、 qmake -project (用于创建.pro文件,将所有的文件编译成一个与平台无关的工程文件)
可见默认生成的文件名为 qt.pro
3、 qmake (读取本身的Qt设置,生成与库一致的相应的Makefile)
4、 make (根据生成的Makefile,将文件编译为二进制可执行程序)
可见生成了qt可执行程序
5、执行命令: ./qt
实验2
本实验中并没有用到上面所讲的方式,而是直接使用了默认值,但是假设说该文件夹下有两个cpp文件,如下图
这时候再执行命令:qmake -project会怎么样呢?会出现下面的结果
有点意思,竟然不出错,但是你知道它生成的qt.pro是哪个cpp文件的吗?我不知道,加入这里我想对test.cpp操作,这时候就要按照上面的格式了。
1、qmake -project test.cpp -o test.pro
这时候生成了test.pro
2、qmake -makefile test.pro,这里生成test.pro的Makefile
3、make
4、执行命令 ./test