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 QT -= gui SOURCES += main.cpp

本文对比了cmake和qmake在构建Qt工程时的优缺点,指出cmake虽然使用相对复杂,但功能更强大,适合处理复杂项目。对于简单的Qt工程,可以使用qmake,而复杂项目推荐使用cmake。详细内容包括:从简单的Qt程序到复杂工程的构建过程,以及在Windows平台上的特殊处理,涉及 moc、uic、资源文件的处理和Debug与Release模式的构建差异。
最低0.47元/天 解锁文章
2387

被折叠的 条评论
为什么被折叠?



