qmake
qmakeQt附带的工具之一 ,是一个协助简化开发的工具软件。
可以用于生成 Makefile 以及 各种工程文件,还可以生成 Microsoft Visual Studio 可以使用的项目文件等。 最关键的是它可以自动解决依赖关系,不用手工写 Makefile 了。而且它是跨平 台的。
手写Makefile是比较困难而且容易出错,尤其在进行跨平台开发时必须针对不同平台分别撰写Makefile,会增加跨平台开发复杂性与困难度。qmake会根据专案文件(.pro)里面的信息自动生成适合平台的 Makefile。开发者能够自行撰写编译文件或是由qmake本身产生。qmake包含额外的功能来方便 Qt 开发,如自动的包含moc 和 uic 的编译规则。
简介 (from:http://lifegoo.pluskid.org/wiki/QMake.html)
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 之类的进来了。