无法解析的外部符号问题小结

article/2025/9/19 10:07:12
问题1:在编写通信相关程序中,引用了一个静态库(该静态库编译没有问题,并被其他项目引用),该库是对SOCKET的一个封装。基本结构如下:
 


在属性中添加了该库的引用后,编译仍然报错,错误如下:

safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _gethostbyname@4,该符号在函数 "public: __thiscall tcpsocket::Socket::Socket(char const *,short)" (??0Socket@tcpsocket@@QAE@PBDF@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _inet_addr@4,该符号在函数 "public: __thiscall tcpsocket::Socket::Socket(char const *,short)" (??0Socket@tcpsocket@@QAE@PBDF@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _WSAGetLastError@0,该符号在函数 "public: __thiscall tcpsocket::Socket::Socket(char const *,short)" (??0Socket@tcpsocket@@QAE@PBDF@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _socket@12,该符号在函数 "public: __thiscall tcpsocket::Socket::Socket(char const *,short)" (??0Socket@tcpsocket@@QAE@PBDF@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _send@16,该符号在函数 "public: virtual unsigned int __thiscall tcpsocket::Socket::send(char const *,unsigned int)" (?send@Socket@tcpsocket@@UAEIPBDI@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _recv@16,该符号在函数 "public: virtual unsigned int __thiscall tcpsocket::Socket::receive(char *,unsigned int)" (?receive@Socket@tcpsocket@@UAEIPADI@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _closesocket@4,该符号在函数 "public: virtual void __thiscall tcpsocket::Socket::close(void)" (?close@Socket@tcpsocket@@UAEXXZ) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _getpeername@12,该符号在函数 "public: virtual void __thiscall tcpsocket::Socket::getPeerName(struct sockaddr_in *)" (?getPeerName@Socket@tcpsocket@@UAEXPAUsockaddr_in@@@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _getsockopt@20,该符号在函数 "private: void __thiscall tcpsocket::BufferedSocket::init(int)" (?init@BufferedSocket@tcpsocket@@AAEXH@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _listen@8,该符号在函数 "public: __thiscall tcpsocket::ServerSocket::ServerSocket(short,unsigned long,int)" (??0ServerSocket@tcpsocket@@QAE@FKH@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _bind@12,该符号在函数 "public: __thiscall tcpsocket::ServerSocket::ServerSocket(short,unsigned long,int)" (??0ServerSocket@tcpsocket@@QAE@FKH@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _setsockopt@20,该符号在函数 "public: __thiscall tcpsocket::ServerSocket::ServerSocket(short,unsigned long,int)" (??0ServerSocket@tcpsocket@@QAE@FKH@Z) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _accept@12,该符号在函数 "public: class tcpsocket::Socket __thiscall tcpsocket::ServerSocket::acceptConnection(void)" (?acceptConnection@ServerSocket@tcpsocket@@QAE?AVSocket@2@XZ) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _WSAStartup@8,该符号在函数 "public: __thiscall _WSAINIT::_WSAINIT(void)" (??0_WSAINIT@@QAE@XZ) 中被引用
1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _WSACleanup@0,该符号在函数 "public: __thiscall _WSAINIT::~_WSAINIT(void)" (??1_WSAINIT@@QAE@XZ) 中被引用


后来发现,在stdafx.h文件中添加如下语句就OK了
#include<WinSock.h>
#prama comment(lib, "ws2_32.lib")

就OK了。
结构如下:
 
但是ws2_32.lib已经在原有项目中包含了。为什么还要再包含一次呢。


初步解释:
静态库只是把自己工程的文件编译成.obj文件,再将.obj文件整合成静态库,其中并没有包含ws2_32.lib.所有要
在AppProject中包含ws2_32.lib.


http://chatgpt.dhexx.cn/article/bnWXyHaE.shtml

相关文章

无法解析的外部符号main

今天在写程序的时候遇到个问题&#xff1a; 然后就去看了相应的解决方法 发现都不管用&#xff1a; 1.不是文件名.c或.cpp的问题 2.不是没有包含相应头文件的问题 3.不是写的控制台程序而使用的Windows连接程序&#xff08;Winmain&#xff09; 最后发现是因为在刚开始打开项…

无法解析的外部符号xxx 该符号在函数xxx中被引用

无法解析的外部符号xxx 该符号在函数xxx中被引用 更多相关错误可查看&#xff1a;https://blog.csdn.net/weixin_44120025/article/details/115279563 下面主要讲述一个解决方案中包含多个项目且它们之间互相引用的情况。 在一个解决方案已经有多个项目的情况下创建一个项目&am…

Visual Studio 2022配置GAMP出现 LNK2019无法解析外部符号_imp_timeGetTime@0

#vs2022配置GAMP 使用visual studio 2022配置软件GAMP的过程可以参考vs2019配置GAMP的详细过程。 在vs2022按照vs2019配置过程后&#xff0c;生成解决方案时&#xff0c;出现了LNK2019 无法解析的外部符号 _imp_timeGetTim0, 函数_tickget中引用了该符号。 解决方法如下&#…

跟着LearnOpenGLCN学习OpenGL配置GLAD环境时出现无法解析外部符号问题的解决

根据LearnOpenGLCN里的步骤&#xff1a; 1.将解压下来的glad和KHR直接复制到glfw-3.3.4.bin.WIN32的include里。 2.glad.c放到工程文件中去。 3.GLFW和GLAD配置环境 第一步&#xff1a; 第二步&#xff1a; 在配置环境后&#xff0c;运行调用窗口代码&#xff0c;出现以下错…

VS配置PCL“无法解析外部符号”

一开始报错&#xff1a; 一般原因是没有包括需要的 .lib 报错说明可能出现在vtk 和pcl_visualization 的lib上。在依赖库中添加pcl_visualization.lib 或者在.cmake文件中添加visualization重新编译&#xff0c;如下&#xff1a; 之后&#xff0c;报错只有两条&#xff1a; …

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

背景&#xff1a;用visual studio 2019开发MFC项目&#xff0c;第一次写c的项目&#xff0c;之前都是写c#和go的项目。 自定义一个类&#xff0c;引用自定义的类&#xff0c;具体的是引用.h文件&#xff0c;死活不成功&#xff0c;一直报error LNK2019无法解析外部符号这个错误…

VS在引用外库运行时显示无法解析外部符号

VS引用外库在运行时显示无法解析外部符号 问题截图 原因 链接器无法链接到 .lib&#xff0c;可以查看下图位置看库是否引入成功。 解决 检查库的配置是否正确。下面列出我在引用第三方库时的配置过程和注意事项。 使用cmake生成、vs编译生成的库&#xff0c;需要添加三个…

UE4使用UUserWidget无法解析外部符号

如图&#xff0c;明明vs代码没报错&#xff0c;但是编译的时候&#xff0c;总是提示&#xff1a; 那就说明&#xff0c;你的项目没有引入UMG模块&#xff1a; 找到这个文件&#xff0c;然后&#xff0c;在后面添加&#xff1a; 模块的介绍&#xff0c;网上一大堆&#xff0c;比…

vs+qt 动态库无法解析外部符号的问题

1、问题描述&#xff1a;无法解析的外部符号 解决方案&#xff1a;引用的库没有引用进来&#xff0c;结局方案如下&#xff1a; &#xff08;1&#xff09;先看一下生成的库输入位置在哪里。在动态库项目右击&#xff0c;选择“属性”->链接器->常规->输出文件。查看…

无法解析外部符号

本人在写qt工程的时候遇到无法解析外部符号 原因&#xff1a;只写了类声明&#xff0c;但还没有写实现类,造成调用时无法解析。 解决方法&#xff0c;把还没有实现类的声明给注释掉。 参考博客无法解析的外部符号 考虑可能的原因: [0]出现无法解析可能是因为lib文件不正确,…

“error LNK2019: 无法解析的外部符号”原因总结

C工程编译时出现如下链接错误提示&#xff1a; 原因一&#xff1a;缺少实现 只是在.h里面声明了某个方法&#xff0c;没有在cpp里面实现&#xff1b;我出现过这个问题&#xff1b; 类方法的实现未加类标识&#xff1a;如&#xff0c; “CTest::Connect(void) { … }” 写成了…

VS常见错误之一:LNK2019 : 无法解析的外部符号

问题样式&#xff1a; LNK2019 : 无法解析的外部符号 xxx 中被引用采用开源程序&#xff0c;忘记添加依赖项&#xff0c;这个是最常见的问题。解决办法如下&#xff1a; 右键打开项目属性 C/C、附加包含目录&#xff1a;填写附加头文件所在目录 分号间隔多项&#xff08;附加…

全自动微信淘宝客推广赚钱方式大揭秘

如果你听到某人对你讲操作淘宝客没希望了&#xff0c;你应该立刻心理ps&#xff1a;日&#xff0c;不赚钱你还天天搞淘宝客。其实很多讲赚不了钱的人都自己躲在哪个角落自己数着钱呢&#xff0c;不是淘宝客赚不了钱是人家不希望你也进来分一杯羹&#xff0c;手机淘宝客的市场现…

2019年开淘宝店赚钱吗?需要注意什么?

网上购物&#xff0c;是很多年轻人比较喜爱的购物方式&#xff0c;方便、快捷、物品种类多&#xff0c;价格便宜&#xff0c;足不出户就可以购得自己想要的物品&#xff0c;淘宝店已经不是新模式了&#xff0c;很多人想开淘宝店&#xff0c;但是又担心加入的太晚了&#xff0c;…

怎么利用淘宝赚钱?具体方法有哪些?

随着互联网的快速发展&#xff0c;淘宝被众多人所熟悉&#xff0c;很多人都知道淘宝上面可以买到各种我们想要的物品&#xff0c;也知道淘宝非常赚钱&#xff0c;那么怎么利用淘宝来赚钱?具体方法又有哪些呢?我们一起来了解下! 方法/步骤1: 第一种&#xff1a;淘宝开店(有产品…

如何用淘宝客为淘宝店铺引流

简单的来说,淘宝客就是靠流量来赚钱的一群人,而新手淘宝客很难找到有效的方法来获取流量,所以自然就赚不到钱了,这个时候该怎么办呢?其实我们要学的就是做好引流,这里给一些方法供参考。 目前,淘宝客队伍越来越大,而市场上的用户就这么多,所以分到每个人的流量就会少很…

待业在家的6个月,我靠淘宝月入百万:你看不起的行业,往往很赚钱

最近看到一个热门话题&#xff1a;你什么时刻体会到了中年危机&#xff1f; 翻开评论感到一阵揪心&#xff1a; 面临公司突如其来的裁员求职时遭受不招30岁以上的拒绝房贷车贷孩子老人处处都需要钱大病小病不断&#xff0c;却因囊中羞涩一拖再拖... 种种现象都在证明&#xff1…

淘宝特价版拉新赚钱的页面怎么做?我终于弄懂了

淘宝的同胞兄弟特价版&#xff0c;虽然长的朴实无华以至于经常被人问起淘宝特价版靠谱吗&#xff1f;2021年淘宝特价版可谓大火了一把&#xff0c;阿里巴巴不计成本的大力推广淘宝特价版&#xff0c;目的也非常明确要把拼多多占领的市场掠夺回来。最近还传出淘宝特价版要上线微…

Python 抓取淘宝联盟优惠券

要获取淘宝联盟的数据第一步当然是分析淘宝联盟的 html 啦。 话不多少说&#xff0c;我们开始吧。 首先我们进入淘宝客的主站 https://pub.alimama.com/ 随便点一个进入商品推广页面&#xff0c;如女装尖货&#xff08;女人的钱是最好赚的啦&#xff01;&#xff09;。 按 …

做小程序平台比开网店更挣钱吗?

从发展前景上看 目前&#xff0c;国内的电商渠道不断发展&#xff0c;淘宝、京东电商渠道是最早一波&#xff0c;随后拼多多、社区团购等不同方式的电商逐渐崛起&#xff0c;各大渠道的流量已见下降&#xff0c;流量和用户的增加已逐渐到天花板。 2020年微信日活跃用户已超越…