微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

错误:'QtGui / QMainWindow':没有这样的文件或目录:Qt 5.1.1

我已经安装了Qt5.1.1并创build一个新的Gui应用程序。 mainwindow.h中的代码显示

#if QT_VERSION >= 0x050000 #include <QtWidgets/QMainWindow> #else #include <QtGui/QMainWindow> #endif

我认为这很好。 但是当我运行它,我有这个:

error: C1083: Cannot open include file: 'QtGui/QMainWindow': No such file or directory

我知道我什么时候更换

#if QT_VERSION >= 0x050000 #include <QtWidgets/QMainWindow> #else #include <QtGui/QMainWindow> #endif

用Qt 5.1.1构buildQwtPlot3d时缺lesslib文件

#include <QtWidgets/QMainWindow>

有用。

我只是想知道为什么代码错误的,以及如何使defauly代码正确。

你可能有另外的选择。

你也可以在.pro文件添加widgets

greaterThan(QT_MAJOR_VERSION,4): QT += widgets

通过在.pro文件添加此行,现在您只需要担心Qt版本,并包含像<QtGui/QMainWindow>或<QtWidgets/QMainWindow>

希望它对你有用。

我有同样的问题,但它有细微的差别。 如果该代码在.h文件中:

#if QT_VERSION >= 0x050000 #include <QtWidgets/QMainWindow> #else #include <QtGui/QMainWindow> #endif

出现错误。 看起来像QT_VERSION没有正确定义。 但是,如果我将这个代码移动到.cpp文件,这是没问题的。 问题解决如下:

1.添加到.pro文件中:

greaterThan(QT_MAJOR_VERSION,4) { QT += widgets DEFInes += HAVE_QT5 }

2.添加到.h文件中:

#ifdef HAVE_QT5 #include <QtWidgets/QMainWindow> #else #include <QtGui/QMainWindow> #endif

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐