对'QNetworkAccessManager'的未定义引用
undefined reference to 'QNetworkAccessManager'
我是QT API和QT IDE的新手,我遵循了本教程: http://developer.nokia.com/community/wiki/Creating_an_HTTP_network_request_in_Qt,但是当我尝试编译时出现此错误,问题的通常原因是:编译器无法 找到方法代码所在的 .cpp/.lib 存档,但在这种情况下,API 已经配置完毕,我不明白为什么会出现此错误,也找不到项目属性,这是我的测试代码:
#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));
}
完成老虎机方法:
void MainWindow::finishedSlot(QNetworkReply* reply)
{
//nothing
}
所以这是代码,如果有人可以帮忙,我会感谢你:)
.pro 项目文件中有QT += network
吗?
编辑:修复了拼写错误,是配置而不是QT
我通过将以下行附加到 CMakeList .txt 为 CMake 解决了这个问题:
find_package(Qt5Network REQUIRED)
target_link_libraries(${PROJECT_NAME} Qt5::Network)
如果您使用的是 Cmake,只需将 ${QT_QTNETWORK_LIBRARY} 添加到TARGET_LINK_LIBRARIES。
相关文章:
- 编译C++时未定义的引用
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 对 Scalar ::Scalar() 的未定义引用
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 对复制 CTOR 和 CTOR 的未定义引用
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 右值引用未定义的行为
- 对"vtable for DigitalClock"的未定义引用 - 未定义对"DigitalClock::staticMetaObject"的引用 - Qt
- 函数类型到函数类型的引用:未定义的引用
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- 从c++调用Fortran子程序,链接时引用未定义
- 枚举引用未定义,但位于包含的头文件中