Qt无法打开包含文件:'QNetworkAccessManager':没有这样的文件或目录

Posted

技术标签:

【中文标题】Qt无法打开包含文件:\'QNetworkAccessManager\':没有这样的文件或目录【英文标题】:Qt Cannot open include file: 'QNetworkAccessManager': No such file or directoryQt无法打开包含文件:'QNetworkAccessManager':没有这样的文件或目录 【发布时间】:2018-02-06 10:33:16 【问题描述】:

我是 Qt 的新手,我经常遇到奇怪的错误。这是其中之一:我有一个名为 NetworkHandner 的类,其中包括 QNetworkAccessManager (#include <QNetworkAccessManager>)。我在我的 .pro 文件中添加了QT += network。一切都很好。但是,当我尝试在 mainwindow.h (#include "networkhandler.h") 中包含我的 NetworkHandler 类时,标题中出现错误。我真的很困惑,因为在我将 networkhandler 标头包含在另一个标头中之前,一切都可以编译并且运行良好。谁能指出我正确的方向?我该如何解决这个问题?提前感谢您的帮助!

【问题讨论】:

更改项目文件中的任何内容后重新运行 qmake。 非常感谢!真的行!我不知道我以前是怎么错过这些细节的。我已经尝试了几个小时来构建我的项目。再次感谢您! 不用担心,如果您在修改项目文件后更改构建类型(调试/发布/配置文件),也不要忘记重新运行qmake 【参考方案1】:

QNetworkAccessManager 带有 QtNetwork 模块。你可以这样做:#include <QtNetwork/QNetworkAccessManager>,它应该可以编译。但是,它不会链接,您需要链接到 QtNetwork。为此,您应该告诉 QMake 您正在使用 QtNetwork。将此添加到您的 .pro 项目文件中:QT += network

这有两个效果:首先,编译器也会在 QtNetwork 子目录中查找包含文件(因此您不需要包含 <QtNetwork/QNetworkAccessManager><QNetworkAccessManager> 就可以正常工作)。其次,链接器也将链接到 QtNetwork。所以一切都会好起来的。

【讨论】:

以上是关于Qt无法打开包含文件:'QNetworkAccessManager':没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章

qt 无法打开stddef.h,最终解决方案

Qt 5.7.1 error: C1083: 无法打开包括文件: “cstddef”: No such file or directory

无法打开源文件QtWidgets/QApplication

如何解决VS中QT的ui文件双击无法打开

解决QT+VS中无法打开ui_*.h文件

QtVisual Studio中无法打开Qt中UI文件