QMake

简介

QMake 是 Qt 工具包中带的一个非常方便的工具。可以用于生成 Makefile 以及 各种工程文件,还可以生成 Microsoft Visual Studio 可以使用的项目文件等。 最关键的是它可以自动解决依赖关系,不用手工写 Makefile 了。而且它是跨平 台的。

为我们的工程创建一个 project.pro 的 qmake 工程文件,例如:

SOURCES = main.cpp Dialog.cpp Emitter.cpp
HEADERS = Dialog.hpp Emitter.hpp

CONFIG += qt
LIBS += -lboost_thread

工程文件非常简单,指定源文件、头文件。 CONFIG 可以指定一些编译选项,其 中一些选项如 qt 以及 thread 是 qmake 内部能够识别的。如果要使用 Qt 的网 络以及线程库,可以指定

QT += network

另外,我这里为了尝试一下 Qt 的信号槽机制在别的线程库下是否能正常使用, 决定使用 boost 的线程库。于是我使用 LIBS 参数指定额外需要链接的库。更详 细的选项可以参加 qmake 的文档。

之后我们可以通过 qmake 工程文件生成其他文件 ( 如 Makefile )

qmake -o Makefile project.pro

接下来就可以输入 make 命令使用生成的 Makefile 来进行构建了。非常方便。

在非 Qt 程序中使用 qmake

事实上, qmake 非常好用,我们甚至想在非 Qt 程序中使用它。这也很容易。 只要加入

CONFIG -= qt

那么 qmake 就不会添加任何和 Qt 库相关的头文件以及 lib 之类的进来了。