qmake是奇趣公司开发的,在08年的时候被Nokia收购.不要简单的以为"qmake = Qt + make"的意思,
不是这个样子的.我们都知道目前有很多项目构建工具,最典型的就算是GNU的Autotools,CMake.至于两
者之间的比较,CMake更胜一筹.
Wiki搜索一下,可以看到很多使用CMake开发Qt应用程序模板.而另外的选择基本上就都是使用qmake,单
单说Qt开发,使用qmake会让开发更简单,因为qmake是量身定制的.这要和Qt的moc联系在一起.
moc,学习过Qt的人应该都清楚,这是一个用来生成一些与信号(signals)和槽(slots)相关的底层代码的预编
译工具(preprocesser).moc全称是Meta Object Compiler,翻译成为中文就是元对象编译器,moc工具处理
带有Q_OBJECT宏的头文件,生成moc_xxx.h,moc_xxx.cpp的C++代码,之后再与程序源码一起编译.使用
qmake之后可以省去手动运行moc命令,qmake可以自动执行该命令.
安装Qt SDK之后,可以再帮助文档中找到关于qmake的内容.qmake和CMake在有些地方还是很相似的,就像
CMake是通过编写CMakeLists.txt,而qmake是编写.pro文件.
编写.pro文件比起CMakeLists.txt则要简单很多,在编写的时候只要参考SDK中的qmake文档,还是比较容易的.
下面就截取qmake Reference中一些内容.
qmake学习包括两个部分: 1. qmake变量 2.qmake函数.
下面是qmake pro文件中常使用的变量:
CONFIG DEF_FILE DEFINES DESTDIR DISTFILES DLLDESTDIR FORMS FORMS3 GUID HEADERS INCLUDEPATH LEXSOURCES LIBS MOC_DIR OBJECTS_DIR QT RCC_DIR REQUIRES RESOURCES SOURCES SUBDIRS TARGET TEMPLATE TRANSLATIONS UI_DIR UI_HEADERS_DIR UI_SOURCES_DIR VERSION YACCSOURCES
其中需要注意的是TEMPLATE:
如果结合其他库开发Qt,则需要结合使用INCLUDEPATH和LIBS变量:
关于qmake,文档很齐全,不像CMake,所以使用起来还是很简单的. 大家开发Qt大多都是喜欢使用QtCreator,KDevelop之类的IDE,
所以qmake不会有问题,而我是个问题少年,不太喜欢IDE,所以自己了解一下.