Qt Hello World Tutorial不起作用

时间:2015-10-25 05:13:36

标签: linux qt ubuntu

我正在尝试运行一个hello world程序,这些教程对我不起作用。

我猜这与qt4 <-> qt5linux <-> windows混淆有关。

我在Ubuntu 14.04,64位。我做了sudo apt-get install build-essentialsudo apt-get install qt5-default

这是我main.cpp中的代码:

#include <QApplication>
#include <QLabel>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QLabel *label = new QLabel("Linux is wonderful", 0);
    app.setMainWidget(label);
    label->show();
    return app.exec();
}

我运行这些命令:

qmake -project
qmake test.pro (for some reason it's not "main.pro")
make

这是生成的.pro文件:

###################################################################### 
# Automatically generated by qmake (3.0) So. Okt. 25 15:51:35 2015 
###################################################################### 
TEMPLATE = app 
TARGET = test 
INCLUDEPATH += . 
# Input 
SOURCES += mymain.cpp 

然后我得到QApplication: No such file or directory。为什么呢?

1 个答案:

答案 0 :(得分:1)

您缺少.pro文件中的必要模块。显然qmake -project默认情况下没有添加(有意义,因为并非所有Qt应用都是小部件应用程序)。所以检查并添加:

QT += widgets

这是因为Qt5在一个单独的模块中有小部件(Qt4在 gui 中有它们),QApplication是其中的一部分,如docs所示。 qmake自动添加的两个模块(如果您不想要它们,则必须删除)是 core gui (记录为here),其他你必须明确地添加到.pro。

一些注意事项:您通常只运行一次qmake -project来创建初始.pro文件。然后你需要手工编辑它,并且不要让它被覆盖!然后,您永远不会手动编辑Makefile,而是在编辑.pro文件后运行qmake重新生成它们。