qmake 不添加小部件

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,我该怎么做?我不想手动添加。

lpa*_*app 5

我怎样才能做到这一点?我不想手动添加。

您可以执行以下操作:

1) 您可以使用 QtCreator 并选择基于小部件的应用程序。

2) qmake -project "QT += 小部件"

但仅此而已。QMake 不是 C++ 代码项目解析器。

另外,请注意,greaterThan(QT_MAJOR_VERSION, 4):QT+=widgets如果这对您很重要,您可以使用与 Qt 4 兼容,因为小部件位于 Qt 4 的 gui 模块中,并且默认情况下添加了核心和 gui。在 Qt 5 中,它们被放入自己的小部件模块中。