我是Qt的新手,我一直遇到奇怪的错误。以下是其中之一:我有一个名为NetworkHandner的类,其中包含QNetworkAccessManager(#include <QNetworkAccessManager>
)。我在.pro文件中添加了QT += network
。一切都很好。但是,当我尝试在mainwindow.h(#include "networkhandler.h"
)中包含我的NetworkHandler类时,我在标题中得到错误。我真的很困惑,因为所有内容都编译并且工作得很好,直到我在另一个头文件中包含networkhandler标头。谁能指出我正确的方向?我该如何解决这个问题?提前感谢您的帮助!
答案 0 :(得分:0)
QNetworkAccessManager
带有 QtNetwork 模块。你可以这样做:#include <QtNetwork/QNetworkAccessManager>
,它应该编译。但是,它不会链接,您需要链接到 QtNetwork。为此,您应该告诉 QMake 您正在使用 QtNetwork。将此添加到您的 .pro
项目文件:QT += network
。
这有两个效果:首先,编译器也会在 QtNetwork 子目录中查找包含文件(因此您不需要包含 <QtNetwork/QNetworkAccessManager>
,<QNetworkAccessManager>
就可以正常工作)。其次,链接器也会链接到 QtNetwork。所以一切都会正常进行。