cmake vs qmake
- qmake 是为 Qt 量身打造的,使用起来非常方便
- cmake 使用上不如qmake简单直接,但复杂换来的是强大的功能
-
内置的 out-of source 构建。(目前QtCreator为qmake也默认启用了该功能。参考:浅谈 qmake 之 shadow build)
- 为各种平台和场景提供条件编译
-
可处理多个可执行文件情况,和很好配合 QtTest 工作
-
如何选择?
Using CMake to Build Qt Projects 一文中说:
- 对简单的Qt工程,采用 qmake
- 对复杂度超过 qmake 处理能力的,采用 cmake
尽管如此,如果简单Qt的工程都不知道怎么用 cmake 构建,复杂的工程,就更不知道如何使用 cmake 了。还是从简单的学起吧
简单的 Qt 程序
#include <QtCore/QCoreApplication> #include <QtCore/QDebug> int main(int argc, char** argv) { QCoreApplication app(argc, argv); qDebug()<<"hello qt!"; app.exec(); }
如果不使用构建工具,直接调用编译器来编译的话,只需要类似这样的一条命令:
g++ main.cpp -Ie:\Qt\4.7.0\include -o main -Le:\Qt\4.7.0\lib -lQtCore4
指定头文件目录,以及需要链接的库
qmake
qmake 需要一个 .pro 文件:
CONFIG += qt