Bil*_*sar 4 c++ qt qmake qt5 qtwidgets
我有一个简单的程序。我的程序是:
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
int rc ;
QApplication app(argc, argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
rc = app.exec();
return(rc) ;
}
Run Code Online (Sandbox Code Playgroud)
我想在命令行中编译和构建此代码。我已经安装了 qt 和 mingw。
首先我的命令是:
qmake -project
Run Code Online (Sandbox Code Playgroud)
然后我发出这个命令。
qmake
Run Code Online (Sandbox Code Playgroud)
然后 qmake 创建 .pro 文件,它是:
TEMPLATE = app
TARGET = HELLO
INCLUDEPATH += .
# Input
SOURCES += hello.cpp
Run Code Online (Sandbox Code Playgroud)
我认为这个文件必须包含'QT += widgets',但它没有。我不知道为什么。最后,我打电话给mingw make
它给出了错误。
当我添加 .pro 文件 QT += widgets 然后调用 mingw-make 时,它会工作并创建 .exe 文件。
那么我的问题是,为什么 qmake 会自动添加 QT += widgets,我该怎么做?我不想手动添加。
我怎样才能做到这一点?我不想手动添加。
您可以执行以下操作:
1) 您可以使用 QtCreator 并选择基于小部件的应用程序。
2) qmake -project "QT += 小部件"
但仅此而已。QMake 不是 C++ 代码项目解析器。
另外,请注意,greaterThan(QT_MAJOR_VERSION, 4):QT+=widgets如果这对您很重要,您可以使用与 Qt 4 兼容,因为小部件位于 Qt 4 的 gui 模块中,并且默认情况下添加了核心和 gui。在 Qt 5 中,它们被放入自己的小部件模块中。