对'QNetworkAccessManager'的未定义引用

时间:2014-04-08 12:20:21

标签: c++ qt

我是QT API和QT IDE的新手,我正在学习本教程:http://developer.nokia.com/community/wiki/Creating_an_HTTP_network_request_in_Qt,但是当我尝试编译时我得到了这个错误,通常导致问题的原因是:编译器couldn'吨  找到方法代码所在的.cpp / .lib存档,但是在这种情况下,api已经配置好了,我无法理解为什么我会收到这个错误,而且我也无法&# 39;找到项目属性,这是我的测试代码:

#include <QMainWindow>
#include <QUrl>
#include <QtNetwork/QNetworkAccessManager>
#include <QtNetwork/QNetworkRequest>
#include <QtNetwork/QNetworkReply>

这是mainwindow.hpp文件中包含的标题,现在是mainwindow.cpp:

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QNetworkAccessManager* nam;

    nam = new QNetworkAccessManager(this);
    QObject::connect(nam, SIGNAL(finished(QNetworkReply*)),
         this, SLOT(finishedSlot(QNetworkReply*)));

    QUrl url("http://www.forum.nokia.wiki");
    QNetworkReply* reply = nam->get(QNetworkRequest(url));
}

finishedSlot方法:

void MainWindow::finishedSlot(QNetworkReply* reply)
{
    //nothing
}

所以这是代码,如果有人可以帮助我,我会感谢你:)

3 个答案:

答案 0 :(得分:17)

.pro项目文件中有QT += network吗?

编辑: 修复错误,是配置而不是QT

答案 1 :(得分:0)

如果您使用的是Cmake,只需将$ {QT_QTNETWORK_LIBRARY}添加到TARGET_LINK_LIBRARIES。

答案 2 :(得分:0)

我通过在 CMakeLists.txt 中添加以下几行来解决CMake的问题:

ret, frame = cap.read()