码迷,mamicode.com
首页 > Web开发 > 详细

QtNetwork 库文件添加

时间:2018-07-24 19:20:43      阅读:429      评论:0      收藏:0      [点我收藏+]

标签:++   clu   win   lease   连接器   ice   编译错误   业务   包含   

Qt应用程序默认没有加QtNetwork库。在开发过程中,根据业务处理需要添加QtNetwork库。

【1】若使用qtcreator开发程序

【2】若使用VS + QT开发程序

本地环境VS2017 + QT5.9.2 编译错误提示如下:

 1 1>download.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QNetworkAccessManager::QNetworkAccessManager(class QObject *)" (__imp_??0QNetworkAccessManager@@QAE@PAVQObject@@@Z),该符号在函数 "public: __thiscall download::download(class QWidget *,class QFlags<enum Qt::WindowType>)" (??0download@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) 中被引用
 2 1>download.obj : error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject const * __thiscall QNetworkAccessManager::metaObject(void)const " (?metaObject@QNetworkAccessManager@@UBEPBUQMetaObject@@XZ)
 3 1>download.obj : error LNK2001: 无法解析的外部符号 "public: virtual void * __thiscall QNetworkAccessManager::qt_metacast(char const *)" (?qt_metacast@QNetworkAccessManager@@UAEPAXPBD@Z)
 4 1>download.obj : error LNK2001: 无法解析的外部符号 "public: virtual int __thiscall QNetworkAccessManager::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@QNetworkAccessManager@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
 5 1>download.obj : error LNK2001: 无法解析的外部符号 "protected: virtual class QNetworkReply * __thiscall QNetworkAccessManager::createRequest(enum QNetworkAccessManager::Operation,class QNetworkRequest const &,class QIODevice *)" (?createRequest@QNetworkAccessManager@@MAEPAVQNetworkReply@@W4Operation@1@ABVQNetworkRequest@@PAVQIODevice@@@Z)
 6 1>download.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QNetworkAccessManager::~QNetworkAccessManager(void)" (__imp_??1QNetworkAccessManager@@UAE@XZ),该符号在函数 "public: virtual void * __thiscall QNetworkAccessManager::`scalar deleting destructor‘(unsigned int)" (??_GQNetworkAccessManager@@UAEPAXI@Z) 中被引用
 7 1>download.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QNetworkRequest::~QNetworkRequest(void)" (__imp_??1QNetworkRequest@@QAE@XZ),该符号在函数 "public: void __thiscall download::startRequest(class QUrl)" (?startRequest@download@@QAEXVQUrl@@@Z) 中被引用
 8 1>download.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QNetworkReply * __thiscall QNetworkAccessManager::get(class QNetworkRequest const &)" (__imp_?get@QNetworkAccessManager@@QAEPAVQNetworkReply@@ABVQNetworkRequest@@@Z),该符号在函数 "public: void __thiscall download::startRequest(class QUrl)" (?startRequest@download@@QAEXVQUrl@@@Z) 中被引用
 9 1>download.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QNetworkRequest::QNetworkRequest(class QUrl const &)" (__imp_??0QNetworkRequest@@QAE@ABVQUrl@@@Z),该符号在函数 "public: void __thiscall download::startRequest(class QUrl)" (?startRequest@download@@QAEXVQUrl@@@Z) 中被引用
10 1>F:\my_project\qt\download\Debug\download.exe : fatal error LNK1120: 9 个无法解析的外部命令

一般出现这个问题都是库文件没有添加造成的。

很明显,程序中使用了QtNetwork库,那么就需要手动添加QtNetwork库文件:

(1)在debug模式,需要加Q5tNetworkd.lib库文件

(2)在release模式,需要加Qt5Network.lib库文件

当使用VS进行开发时在哪里添加呢?共有两个地方需要添加(缺一不可):

(1)项目->属性->c/c++->常规->附加包含目录->在弹出的对话框中,点那个文件夹形状的按钮添加新行,输入$(QTDIR)\include\QtNetwork

(2)项目->属性->连接器->输入->附加依赖项,添加 Qt5Networkd.lib(debug模式)或者 Qt5Network.lib(release模式)

 

Good Good Study, Day Day Up.

顺序 选择  循环 总结

QtNetwork 库文件添加

标签:++   clu   win   lease   连接器   ice   编译错误   业务   包含   

原文地址:https://www.cnblogs.com/Braveliu/p/9361792.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!