现在的位置: 首页 > 综合 > 正文

Qt – 02 qmake

2012年08月21日 ⁄ 综合 ⁄ 共 1098字 ⁄ 字号 评论关闭

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,所以自己了解一下.

抱歉!评论已关闭.