【问题标题】:qmake missing object fileqmake缺少目标文件
【发布时间】:2013-01-27 22:00:55
【问题描述】:

好吧...所以我对 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......但这也不起作用。

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

【问题讨论】:

    标签: qt compilation qmake


    【解决方案1】:

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

     QT += core widgets gui
    

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

    【讨论】:

      【解决方案2】:

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

      sudo apt-get install libqt4-dev

      【讨论】:

      • 非常感谢丹尼尔......你为我节省了大量时间和头痛!
      【解决方案3】:
      cpp:1:24: fatal error: QApplication: No such file or directory
      compilation terminated.
      

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

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

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2018-11-16
        • 2012-06-17
        • 1970-01-01
        • 2011-06-23
        • 2021-12-31
        • 2013-12-17
        • 1970-01-01
        • 2016-12-27
        • 2016-05-28
        相关资源
        最近更新 更多