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

时间:2018-02-06 10:33:17

标签: c++ qt include qnetworkaccessmanager

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

1 个答案:

答案 0 :(得分:0)

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

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