• 【QT】capture.obj:-1: error: LNK2019: 无法解析的外部符号 __imp_htons(解决方法)


    在用QT进行套接字编程时遇到下面的错误:


    1、capture.obj👎 error: LNK2019: 无法解析的外部符号 __imp_htons,该符号在函数 “public: int __cdecl Capture::ipPackageHandle(unsigned char const *,int &)” (?ipPackageHandle@Capture@@QEAAHPEBEAEAH@Z) 中被引用
    2、capture.obj👎 error: LNK2019: 无法解析的外部符号 __imp_ntohl,该符号在函数 “public: int __cdecl Capture::tcpPackageHandle(unsigned char const *,class QString &,int)” (?tcpPackageHandle@Capture@@QEAAHPEBEAEAVQString@@H@Z) 中被引用
    3、capture.obj👎 error: LNK2019: 无法解析的外部符号 __imp_ntohs,该符号在函数 “public: int __cdecl Capture::ethernetPackageHandle(unsigned char const *,class QString &)” (?ethernetPackageHandle@Capture@@QEAAHPEBEAEAVQString@@@Z) 中被引用
    4、datapackage.obj👎 error: LNK2019: 无法解析的外部符号 htonl,该符号在函数 “public: bool __cdecl DataPackage::getTcpOperationSACK(int,unsigned char &,class QVector &)” (?getTcpOperationSACK@DataPackage@@QEAA_NHAEAEAEAV?$QVector@I@@@Z) 中被引用
    5、datapackage.obj👎 error: LNK2019: 无法解析的外部符号 inet_ntoa,该符号在函数 “public: class QString __cdecl DataPackage::getDesIpAddr(void)” (?getDesIpAddr@DataPackage@@QEAA?AVQString@@XZ) 中被引用
    6、datapackage.obj👎 error: LNK2019: 无法解析的外部符号 ntohl,该符号在函数 “public: class QString __cdecl DataPackage::getTcpSequence(void)” (?getTcpSequence@DataPackage@@QEAA?AVQString@@XZ) 中被引用
    7、datapackage.obj👎 error: LNK2019: 无法解析的外部符号 ntohs,该符号在函数 “public: class QString __cdecl DataPackage::getMacType(void)” (?getMacType@DataPackage@@QEAA?AVQString@@XZ) 中被引用
    8、debug\shark.exe👎 error: LNK1120: 7 个无法解析的外部命令


    在这里插入图片描述

    解决方法如下:

    在CPP文件include语句之后加上如下代码:

    #pragma comment(lib,"ws2_32.lib")

    表示链接的时侯找 ws2_32.lib

    然后编译就成功了:
    在这里插入图片描述

  • 相关阅读:
    smutil数据加密
    【C语言】字符串左旋
    系统架构设计:8 论软件架构风格
    288.【华为OD机试】AI面板识别(排序算法—Java&Python&C++&JS实现)
    2023年ITSS各地区奖补政策汇总!最高可达50万元
    java计算机毕业设计高校大学生就业系统MyBatis+系统+LW文档+源码+调试部署
    956. 最高的广告牌
    v-for的用法及key值原理
    SpringBoot基于AOP实现RocketMQ发送与消费
    Django(3)模型
  • 原文地址:https://blog.csdn.net/Cappuccino_jay/article/details/125994439