一个例子让你秒懂 Qt Creator 编译原理
如果想看更好的排版,可以来我的,公众号:小北师兄,来查看本篇文章!
大家好,我是你们的小北师兄,由于工作原因,最近师兄在自学 Qt 相关知识,说起来师兄在校期间是研究算法的,一般都是纯 C++ 来实现,当时电脑环境以 Linux 发行版 Ubuntu 为主,到了工作中就转向了 Windows,刚开始确实有一些不太习惯,在 Windows 上配置环境一般比较繁琐,而且有些问题网上还不容易找到。
下面进入正题,使用过 Qt 的都知道,我们一般建立一个 Qt 工程,都是在 Qt Creator 中根据向导进行建立,这样比较方便,师兄根据之前使用 CMake / gcc 的经验,所以对 Qt 的编译过程感兴趣,想知道 Qt Creator 是如何进行编译的,这样以后出了问题,我们即使不上网,也可以根据自己的理解,找到问题所在
师兄在网上找到了一个参考资料“Qt Creator 快速入门”,这本书就简单介绍了这个编译过程,师兄根据资料上的说明,以及自己的试验过程,对这个问题有了一个更深的理解。当然小伙伴们不要失望,师兄写这篇文章可不是直接照搬资料上的内容,相信小伙伴们通读下来绝对会有收获!
目录
1 Qt Creator 编译
2 命令行编译:
1.1 用 Qt 自带环境进行编译*
1.2在 Cmd 终端中直接进行编译*
1.3 拓展
提前说明一下本机环境:Windows10 企业版 64 位 + QT5.9.9 + MinGw 5.30 32 位
师兄这里拿出资料上的一个例子(没有 ui 文件的),我们在 Qt Creator 创建一个 Empty qmake project (空项目),然后自己添加 C++ 文件 main.cpp,该源文件内容如下:
#include <QApplication>
#include <QDialog>
#include <QLabel>
int main(int argc, char **argv) {
QApplication a(argc, argv);
QDialog w;
w.resize(400, 300);
QLabel label(&w);
label.move(120, 120);
label.setText(QObject::tr("Hello"));
w.show();
return a.exec();
}
编辑 .pro 文件,添加 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
即可,然后编译该程序,可以看到编译输出如下图
小伙伴请对图片上的那个红色框起来的内容 mingw32-make
留个印象,下面还会用到这个。编译完成后就可直接正常运行。
可以看到,用 Qt Creator 创建项目/编译运行项目非常简单容易,几步操作下来就可以运行一个程序。
为了了解 Qt Creator 背后为大家做的工作,需要知道如何用命令行编译这个程