首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过终端创建项目文件并编译失败,但是通过工作得很好

通过终端创建项目文件并编译失败,但是通过工作得很好
EN

Stack Overflow用户
提问于 2013-08-24 15:02:42
回答 1查看 1.4K关注 0票数 2

我是新手,所以请对我有耐心。我正在使用Ubuntu,我已经从.run文件中安装了QT5.1.0。还安装了QtCreator 2.8。我将这些行添加到我的.bashrc文件中:

代码语言:javascript
复制
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

我试图简化简单的示例应用程序:

代码语言:javascript
复制
#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变量:

代码语言:javascript
复制
“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通过终端创建的:

代码语言:javascript
复制
“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文件解决了临时问题:

代码语言:javascript
复制
QT += widgets

但我不想每次都用手。我怎么才能修好它呢?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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错误

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18419929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档