Qt C ++ LNK2019:使用QNetworkAccessManager的未解析外部符号

umar14

我正在尝试使用此处提供的文档运行简单的代码https://doc.qt.io/qt-5/qnetworkaccessmanager.html我在Windows 10上将Qt Creator与MSVC2017 64位套件一起使用。我对C ++和类的知识非常基础。

该代码给出了链接器错误,我不知道为什么。我尝试再次清洁和重建,但没有成功。任何帮助,将不胜感激。谢谢!

我使用mainwindow.h在Qt Creator中创建一个新项目

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

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

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);    
    ~MainWindow();
    void replyFinished(QNetworkReply *reply);

private:
    Ui::MainWindow *ui;    
};
#endif // MAINWINDOW_H

然后在mainwindow.cpp中添加这些行并进行编译。

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QNetworkAccessManager *manager = new QNetworkAccessManager(this);
    connect(manager, &QNetworkAccessManager::finished,
            this, &MainWindow::replyFinished);

    manager->get(QNetworkRequest(QUrl("http://qt-project.org")));
}

void MainWindow::replyFinished(QNetworkReply *reply)
{
    //
}

使用MSVC2017 64位套件进行编译时,在输出时出现链接器错误。如果我使用其他套件(MinGW),则问题相同。

这是我的.pro文件:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++11

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \
    mainwindow.cpp

HEADERS += \
    mainwindow.h

FORMS += \
    mainwindow.ui

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target


这是编译器的输出:

12:52:23: Running steps for project Proj2...
12:52:23: Configuration unchanged, skipping qmake step.
12:52:23: Starting: "C:\Qt\Tools\QtCreator\bin\jom.exe" 
    C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Debug
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:debug\Proj2.exe @C:\Users\HP\AppData\Local\Temp\Proj2.exe.7376.15.jom
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QNetworkRequest::QNetworkRequest(class QUrl const &)" (__imp_??0QNetworkRequest@@QEAA@AEBVQUrl@@@Z) referenced in function "public: __cdecl MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QEAA@PEAVQWidget@@@Z)
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QNetworkRequest::~QNetworkRequest(void)" (__imp_??1QNetworkRequest@@QEAA@XZ) referenced in function "public: __cdecl MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QEAA@PEAVQWidget@@@Z)
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QNetworkAccessManager::QNetworkAccessManager(class QObject *)" (__imp_??0QNetworkAccessManager@@QEAA@PEAVQObject@@@Z) referenced in function "public: __cdecl MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QEAA@PEAVQWidget@@@Z)
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl QNetworkAccessManager::~QNetworkAccessManager(void)" (__imp_??1QNetworkAccessManager@@UEAA@XZ) referenced in function "public: virtual void * __cdecl QNetworkAccessManager::`scalar deleting destructor'(unsigned int)" (??_GQNetworkAccessManager@@UEAAPEAXI@Z)
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class QNetworkReply * __cdecl QNetworkAccessManager::get(class QNetworkRequest const &)" (__imp_?get@QNetworkAccessManager@@QEAAPEAVQNetworkReply@@AEBVQNetworkRequest@@@Z) referenced in function "public: __cdecl MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QEAA@PEAVQWidget@@@Z)
mainwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl QNetworkAccessManager::finished(class QNetworkReply *)" (__imp_?finished@QNetworkAccessManager@@QEAAXPEAVQNetworkReply@@@Z) referenced in function "public: __cdecl MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QEAA@PEAVQWidget@@@Z)
mainwindow.obj : error LNK2001: unresolved external symbol "protected: virtual class QNetworkReply * __cdecl QNetworkAccessManager::createRequest(enum QNetworkAccessManager::Operation,class QNetworkRequest const &,class QIODevice *)" (?createRequest@QNetworkAccessManager@@MEAAPEAVQNetworkReply@@W4Operation@1@AEBVQNetworkRequest@@PEAVQIODevice@@@Z)
mainwindow.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __cdecl QNetworkAccessManager::metaObject(void)const " (?metaObject@QNetworkAccessManager@@UEBAPEBUQMetaObject@@XZ)
mainwindow.obj : error LNK2001: unresolved external symbol "public: virtual int __cdecl QNetworkAccessManager::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QNetworkAccessManager@@UEAAHW4Call@QMetaObject@@HPEAPEAX@Z)
mainwindow.obj : error LNK2001: unresolved external symbol "public: virtual void * __cdecl QNetworkAccessManager::qt_metacast(char const *)" (?qt_metacast@QNetworkAccessManager@@UEAAPEAXPEBD@Z)
mainwindow.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static struct QMetaObject const QNetworkAccessManager::staticMetaObject" (__imp_?staticMetaObject@QNetworkAccessManager@@2UQMetaObject@@B)
  Hint on symbols that are defined and could potentially match:
    "__declspec(dllimport) public: static struct QMetaObject const QMainWindow::staticMetaObject" (__imp_?staticMetaObject@QMainWindow@@2UQMetaObject@@B)
mainwindow.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static struct QMetaObject const QNetworkReply::staticMetaObject" (__imp_?staticMetaObject@QNetworkReply@@2UQMetaObject@@B)
  Hint on symbols that are defined and could potentially match:
    "__declspec(dllimport) public: static struct QMetaObject const QMainWindow::staticMetaObject" (__imp_?staticMetaObject@QMainWindow@@2UQMetaObject@@B)
debug\Proj2.exe : fatal error LNK1120: 12 unresolved externals

索海尔·阿明(Soheil Armin)

您的.pro文件缺少网络模块导入。更改第一行以添加网络库。

QT += core gui network

您可以从文档中看到它,上面说

qmake:QT + =网络

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

错误LNK2019:Qt平台中未解决的外部符号C ++

来自分类Dev

Qt未解析的外部符号LNK2019

来自分类Dev

错误:LNK2019:Qt中无法解析的外部符号

来自分类Dev

C ++:错误LNK2019:函数中引用的未解析的外部符号__snprintf

来自分类Dev

C ++:错误LNK2019:函数_main中引用的未解析的外部符号

来自分类Dev

C ++:错误LNK2019:函数_main中引用的未解析的外部符号

来自分类Dev

C ++ LNK2019无法解析的外部符号stdlib

来自分类Dev

C ++ LNK2019无法解析的外部符号

来自分类Dev

C ++ LNK2019错误:无法解析的外部符号

来自分类Dev

LNK2019:C ++ / CLI中无法解析的外部符号

来自分类Dev

Visual Studios C ++代码中的错误。Lab4.obj:错误LNK2019:未解析的外部符号“布尔__cdecl

来自分类Dev

LNK 2019“未解析的外部符号”错误(C ++ OpenGL)

来自分类Dev

使用mex编译.C文件包含库-错误LNK2019:无法解析的外部符号-用于NPTrackingTools

来自分类Dev

C ++错误错误LNK2019:无法解析的外部符号,语法错误?

来自分类Dev

C ++-SDL2和OpenGL-Visual Studio错误LNK2019:无法解析的外部符号

来自分类Dev

Visual Studios C ++代码中的错误。Lab4.obj:错误LNK2019:无法解析的外部符号“布尔__cdecl

来自分类Dev

Qt错误:LNK1120:1个未解决的外部main.obj:-1:错误:LNK2019运行Qmake

来自分类Dev

LNK2019未解析的QObject外部符号

来自分类Dev

LNK2019:带有rapidjson的“未解析的外部符号”

来自分类Dev

LNK2019未解析的外部符号SHGetFolderPathW

来自分类Dev

LNK2019:未解析的外部符号-隐式DLL

来自分类Dev

LNK2019未解析的QObject外部符号

来自分类Dev

LNK2019 SHLoadIndirectString的未解析外部符号

来自分类Dev

LNK2019:Visual Studio C ++中无法解决的外部符号错误

来自分类Dev

Visual Studio 2012-C MariaDB客户端-错误LNK2019:无法解析的外部符号_mysql_init @ 4

来自分类Dev

Visual Studio 2012-C MariaDB客户端-错误LNK2019:无法解析的外部符号_mysql_init @ 4

来自分类Dev

LNK2019:函数___tmainCRTStartup中使用DLL引用的未解析的外部符号_main

来自分类常见问题

LNK2019:使用std :: ifstream时未解析的外部符号

来自分类Dev

LNK2019:使用std :: ifstream时未解析的外部符号

Related 相关文章

  1. 1

    错误LNK2019:Qt平台中未解决的外部符号C ++

  2. 2

    Qt未解析的外部符号LNK2019

  3. 3

    错误:LNK2019:Qt中无法解析的外部符号

  4. 4

    C ++:错误LNK2019:函数中引用的未解析的外部符号__snprintf

  5. 5

    C ++:错误LNK2019:函数_main中引用的未解析的外部符号

  6. 6

    C ++:错误LNK2019:函数_main中引用的未解析的外部符号

  7. 7

    C ++ LNK2019无法解析的外部符号stdlib

  8. 8

    C ++ LNK2019无法解析的外部符号

  9. 9

    C ++ LNK2019错误:无法解析的外部符号

  10. 10

    LNK2019:C ++ / CLI中无法解析的外部符号

  11. 11

    Visual Studios C ++代码中的错误。Lab4.obj:错误LNK2019:未解析的外部符号“布尔__cdecl

  12. 12

    LNK 2019“未解析的外部符号”错误(C ++ OpenGL)

  13. 13

    使用mex编译.C文件包含库-错误LNK2019:无法解析的外部符号-用于NPTrackingTools

  14. 14

    C ++错误错误LNK2019:无法解析的外部符号,语法错误?

  15. 15

    C ++-SDL2和OpenGL-Visual Studio错误LNK2019:无法解析的外部符号

  16. 16

    Visual Studios C ++代码中的错误。Lab4.obj:错误LNK2019:无法解析的外部符号“布尔__cdecl

  17. 17

    Qt错误:LNK1120:1个未解决的外部main.obj:-1:错误:LNK2019运行Qmake

  18. 18

    LNK2019未解析的QObject外部符号

  19. 19

    LNK2019:带有rapidjson的“未解析的外部符号”

  20. 20

    LNK2019未解析的外部符号SHGetFolderPathW

  21. 21

    LNK2019:未解析的外部符号-隐式DLL

  22. 22

    LNK2019未解析的QObject外部符号

  23. 23

    LNK2019 SHLoadIndirectString的未解析外部符号

  24. 24

    LNK2019:Visual Studio C ++中无法解决的外部符号错误

  25. 25

    Visual Studio 2012-C MariaDB客户端-错误LNK2019:无法解析的外部符号_mysql_init @ 4

  26. 26

    Visual Studio 2012-C MariaDB客户端-错误LNK2019:无法解析的外部符号_mysql_init @ 4

  27. 27

    LNK2019:函数___tmainCRTStartup中使用DLL引用的未解析的外部符号_main

  28. 28

    LNK2019:使用std :: ifstream时未解析的外部符号

  29. 29

    LNK2019:使用std :: ifstream时未解析的外部符号

热门标签

归档