首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt 5.3。QtWidgets:没有这样的文件或目录#include <QtWidgets>

Qt 5.3。QtWidgets:没有这样的文件或目录#include <QtWidgets>
EN

Stack Overflow用户
提问于 2014-07-10 13:59:28
回答 4查看 46.6K关注 0票数 8

我想编译Qt示例。我得到错误包含:没有这样的文件或目录#QtWidgets

代码语言:javascript
复制
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - does not help
QT += widgets                                   - does not help
INCLUDEPATH += /opt/Qt/5.3/Src/qtbase/include/  - does not help

Qt 5.3。Ubuntu 14.04 x64。

EN

回答 4

Stack Overflow用户

发布于 2014-07-10 14:05:09

您需要仔细检查您是否完成了所有这些步骤:

  • 模块installed
  • greaterThan(QT_MAJOR_VERSION,4):QT +=
  • 您可以重新运行Qt 5 qmake。

话虽如此,我想提醒你的是,包含整个模块并不是一个好主意,因为它包含了所有与小部件相关的东西。试着把它缩小到你真正需要的标题。

票数 10
EN

Stack Overflow用户

发布于 2014-07-10 16:30:50

正如您注意到的,Qt目录结构在Qt4和Qt5之间有所不同。QWidget标头已移至QtWidgets目录。尝试添加

代码语言:javascript
复制
INCLUDEPATH += /opt/Qt/5.3/Src/qtbase/include/QtWidgets

如果这对查找标头没有帮助,请尝试使用

代码语言:javascript
复制
find /opt/Qt/5.3/Src/qtbase/ -name QWidget

以及它所在的目录到INCLUDEPATH

根据来自决赛的评论进行编辑。

我同意变通方法通常不是一个好主意。为了测试QT,您的安装在哪里查找qt5头文件和库。创建一个最小的项目。

代码语言:javascript
复制
#include <QApplication>
#include <QtWidgets>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget w;
    w.show();
    app.exec();
}

生成项目并添加QT +=小部件

代码语言:javascript
复制
/opt/Qt/5.3/Src/qtbase/bin/qmake -project

项目文件

代码语言:javascript
复制
######################################################################
# Automatically generated by qmake (3.0) Thu Jul 10 13:05:17 2014
######################################################################

TEMPLATE = app
TARGET = so_qtwidgets
INCLUDEPATH += .

QT += widgets

# Input
SOURCES += main.cpp

生成make文件

代码语言:javascript
复制
/opt/Qt/5.3/Src/qtbase/bin/qmake

interesting小部件标志添加了:

在我的案例中,包含小部件-i/usr//qt5/QtWidgets-i/usr/

  • /QtGui to INCPATH
  • -DQT_WIDGETS_LIB to DEFINES variable.
  • -lQt5Widgets -lQt5Gui to libs。

唯一不同的部分是QtWidgets和QtGui的路径。如果这些是错误的,我会尝试重新安装Qt。

票数 8
EN

Stack Overflow用户

发布于 2019-09-26 03:01:21

在运行"make“之前,检查一下你的.pro文件。我发现命令"qmake -project“自动生成了一个.pro文件,导致了同样的错误。现在,我通过以下命令编译了我的qt项目,错误消失了:

代码语言:javascript
复制
qmake my_project.pro
make
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24669417

复制
相关文章

相似问题

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