0

好吧...所以我对 Qt 很陌生。我刚刚将它安装在我的 Ubuntu 发行版上。我创建了一个新的测试应用程序,以查看它是否适用于我的 ../helloworld/ 目录中的以下文件 (helloworld.cpp):

/*  helloworld.cpp */
#include <QApplication>
#include <QWidget>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QWidget window;

    window.resize(250, 150);
    window.setWindowTitle("Simple example");
    window.show();

    return app.exec();
}

我跑来qmake -project生成 helloworld.pro 文件。接下来我运行qmake以生成 Makefile 接下来我运行make以编译并得到以下输出/错误:

g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG 
-DQT_GUI_LIB -DQT_CORE_LIB -I/usr/share/qt4/mkspecs/linux-g++-64 -I. 
-I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 
-I. -I. -o helloworld.o helloworld.cpp
helloworld.cpp:1:24: fatal error: QApplication: No such file or directory
compilation terminated.
make: *** [helloworld.o] Error 1

意味着 helloworld.o 文件丢失了......我该如何解决这个问题?我尝试QT += webkit像另一个讨论所说的那样添加......但这也不起作用。

那里的任何代码猴子都知道如何解决这个问题???我将不胜感激!

4

3 回答 3

1

在您的 .pro 文件中,添加以下行

 QT += core widgets gui

不要忘记qmake在命令行中再次调用,以便qmake重新创建Makefile. 这应该可以为您解决问题。

于 2014-02-26T03:06:47.680 回答
0

QApplication应该在里面/usr/include/qt4/QtGui,前提是你已经安装了libqt4-dev包。如果未安装该软件包,那就是错误的原因:只需安装它:

sudo apt-get install libqt4-dev

于 2013-01-27T23:51:35.073 回答
0
cpp:1:24: fatal error: QApplication: No such file or directory
compilation terminated.

实际错误是缺少头文件 (QApplication)。这导致您的代码(helloworld.cpp)无法编译生成次要错误

make: *** [helloworld.o] Error 1

因此,解决方案是确保可以找到 QApplication。这通常由Qt +=.pro 文件中的语句处理。

Qt += webkit告诉 QMake 你想要制作一个 webkit(网络浏览器)应用程序。在这种情况下,不需要这样做。

您正在尝试构建的是一个 GUI 应用程序,因此您需要确保您的 .pro 文件指定了它。这可以通过指定来完成Qt += gui

此外,我建议您Qt += gui core将文件放在文件的顶部。这告诉 QMake 您正在使用 Qt 的核心组件和 gui 组件。

于 2013-01-29T14:18:27.107 回答