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 5.7.1 error: C1083: 无法打开包括文件: “cstddef”: No such file or directory