好吧......所以我对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
作为另一个讨论说...而且这也不起作用。
任何代码猴子都有任何想法如何解决这个问题?我将不胜感激!
答案 0 :(得分:1)
在.pro文件中,添加以下行
QT += core widgets gui
不要忘记在命令行中再次调用qmake
,以便qmake
重新创建Makefile
。这应该为您解决问题。
答案 1 :(得分:0)
QApplication
包,则 /usr/include/qt4/QtGui
应位于libqt4-dev
内。
如果没有安装该软件包,那就是错误的原因:只需安装它:
sudo apt-get install libqt4-dev
答案 2 :(得分:0)
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(Web浏览器)应用程序。在这种情况下不应该这样做。
您尝试构建的是GUI应用程序,因此您需要确保.pro文件指定了该应用程序。这可以通过指定Qt += gui
。
更重要的是,我建议您在文件顶部添加Qt += gui core
。这告诉QMake你正在使用Qt的核心和gui组件。