Qmake不添加小部件



我有一个简单的程序。我的程序是:

 #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) ;
}

我想在命令行中编译和构建此代码。我已经安装了qt和mingw.

第一个命令是:

  qmake -project

然后我给出这个命令。

  qmake

然后qmake创建.pro文件,该文件为:

 TEMPLATE = app
 TARGET = HELLO
 INCLUDEPATH += .
 # Input
 SOURCES += hello.cpp

我认为这个文件必须包括' QT += widgets',但它没有。我不知道为什么。最后,我调用mingw make

显示错误

当我添加。pro文件QT += widgets然后调用mingw-make,它工作并创建。exe文件。

那么我的问题是,为什么qmake自动添加QT += widgets,我怎么能做到这一点?我不想手动添加

我该怎么做?我不想手动添加

你可以做以下事情:

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

2) qmake -project "QT += widgets"

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

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

如果您是Linux用户,您可以编写一个像这样的bash脚本

#!/bin/bash
if [ "$1" == "-project" ]; then
 qmake $@ "QT += widgets gui"
else  
 qmake $@
fi

(在lapp的第2点之后)并将其放在/usr/bin目录中。如果你愿意,你可以将qmake重命名为qmake_old,将脚本重命名为"qmake",然后

#!/bin/bash
if [ "$1" == "-project" ]; then
 qmake_old $@ "QT += widgets gui"
else
 qmake_old $@
fi

所以你可以调用qmake,它会自动做你想做的(注意别忘了chmod +x)

相关内容

  • 没有找到相关文章

最新更新