我是新手,所以请对我有耐心。我正在使用Ubuntu,我已经从.run文件中安装了QT5.1.0。还安装了QtCreator 2.8。我将这些行添加到我的.bashrc文件中:
export QTDIR=/opt/Qt5.1.0/5.1.0/gcc
export QMAKESPEC=$QTDIR/mkspecs/linux-g++
export QT_PLUGIN_PATH=$QTDIR/plugins
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH我试图简化简单的示例应用程序:
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
QLabel *label = new QLabel("Hello Qt!");
label->show();
return app.exec();
}我做了“qmake-project”和“qmake hello.pro”,然后输入了“make”。这给了我错误:“hello.cpp:1:24:致命错误: QApplication:没有这样的文件或目录编译终止。”
问题似乎出在qmake上。当我使用QtCreator进行项目时,Makefile有不同的INCPATH变量,这个阶段没有问题(还有其他问题,但这是另一个问题)。这是通过QtCreator创建的Makefile中的INCPATH变量:
“INCPATH = -I/opt/Qt5.1.0/5.1.0/gcc/mkspecs/linux-g++ -I../helloQtCreator -I/opt/Qt5.1.0/5.1.0/gcc/include -I/opt/Qt5.1.0/5.1.0/gcc/include/QtWidgets -I/opt/Qt5.1.0/5.1.0/gcc/include/QtGui -I/opt/Qt5.1.0/5.1.0/gcc/include/QtCore -I. -I. -I.”这个是由qmake通过终端创建的:
“INCPATH = -I/opt/Qt5.1.0/5.1.0/gcc/mkspecs/linux-g++ -I. -I. -I/opt/Qt5.1.0/5.1.0/gcc/include -I/opt/Qt5.1.0/5.1.0/gcc/include/QtGui -I/opt/Qt5.1.0/5.1.0/gcc/include/QtCore -I.”项目名称不同,但为什么qmake在从终端手动启动时不包括“-i/opt/qt5.1.0/5.1.0/gcc/ include /QtWidgets”?将这一行添加到.pro文件解决了临时问题:
QT += widgets但我不想每次都用手。我怎么才能修好它呢?
谢谢。
发布于 2013-08-24 16:09:27
这是Qt中的错误,当使用qmake -project命令从终端创建项目文件时,生成的项目文件不包含行: greaterThan(QT_MAJOR_VERSION,4):QT +=小部件。这可能是qmake没有在MAKEFILE中包含“-i/opt/qt5.1.0/5.1.0/gcc/ include /QtWidget”的原因。更多信息,QT错误。
https://stackoverflow.com/questions/18419929
复制相似问题