我是Qt的新手,在hello.cpp中写了一个基本样本:
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello!World! Orz...");
label->setWindowTitle("First Qt!");
label->resize(200, 50);
label->show();
return app.exec();
}
然后我会qmake -project
和qmake
以及make
然后./GUI
。它刚跑!
我很困惑。为什么qmake知道make hello.cpp
我从来没有告诉过它!
感谢您的回答。
答案 0 :(得分:1)
是的,你做了告诉它,并没有像你想象的那样明确: - )
当您执行qmake -project
(即项目文件模式)时,它会检查您的文件以确定哪个是主文件,并根据该文件构建项目文件。默认情况下,它会查看当前目录中的文件,但您也可以使用-r
(递归搜索)和-nopwd
(仅使用指定文件,而不是当前目录中的文件)标记来控制此文件。 / p>
然后,你运行qmake
没有参数,它将使用该项目文件中的信息来构造一个makefile。然后,当然,make
将使用makefile。
这在文档中指定:
qmake支持两种不同的操作模式。第一种模式是默认的makefile生成。在这种模式下,qmake将获取.pro文件并将其转换为makefile。本参考指南涵盖了创建makefile,还有另一种生成.pro文件的模式。
要在这些模式之间切换,您必须在第一个参数中指定要使用的模式。如果未指定模式,qmake将假定您需要makefile模式。可用的模式是:
-makefile qmake输出将是一个makefile(Makefile模式)。
-project qmake输出将是项目文件(项目文件模式)。