C++ TCp通信遇到的无法解析外部符号

C++ TCp通信遇到的无法解析外部符号当在VS2005编写WINCE程序时,如果包含WinSock2.h后使用socket的相关函数,则编译会出现如下错误:1>TcpServer.obj:errorLNK2019:无法解析的外部符号WSACleanup,该符号在函数”private:int__cdeclCTcpServer_CE::InitializeSocket(void)”(?InitializeSoc

大家好,又见面了,我是你们的朋友全栈君。

当在VS2005编写WINCE程序时,如果包含WinSock2.h后使用socket的相关函数,则编译会出现如下错误:

1>TcpServer.obj : error LNK2019: 无法解析的外部符号 WSACleanup,该符号在函数 “private: int __cdecl CTcpServer_CE::InitializeSocket(void)” (?InitializeSocket@CTcpServer_CE@@AAAHXZ) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 WSAStartup,该符号在函数 “private: int __cdecl CTcpServer_CE::InitializeSocket(void)” (?InitializeSocket@CTcpServer_CE@@AAAHXZ) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 ioctlsocket,该符号在函数 “private: static unsigned long __cdecl CTcpServer_CE::TcpListenTheadFunc(void *)” (?TcpListenTheadFunc@CTcpServer_CE@@CAKPAX@Z) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 accept,该符号在函数 “private: static unsigned long __cdecl CTcpServer_CE::TcpListenTheadFunc(void *)” (?TcpListenTheadFunc@CTcpServer_CE@@CAKPAX@Z) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 __WSAFDIsSet,该符号在函数 “private: static unsigned long __cdecl CTcpServer_CE::TcpListenTheadFunc(void *)” (?TcpListenTheadFunc@CTcpServer_CE@@CAKPAX@Z) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 closesocket,该符号在函数 “private: static unsigned long __cdecl CTcpServer_CE::TcpListenTheadFunc(void *)” (?TcpListenTheadFunc@CTcpServer_CE@@CAKPAX@Z) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 select,该符号在函数 “private: static unsigned long __cdecl CTcpServer_CE::TcpListenTheadFunc(void *)” (?TcpListenTheadFunc@CTcpServer_CE@@CAKPAX@Z) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 WSAGetLastError,该符号在函数 “private: static unsigned long __cdecl CTcpServer_CE::TcpThreadFunc(void *)” (?TcpThreadFunc@CTcpServer_CE@@CAKPAX@Z) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 recv,该符号在函数 “private: static unsigned long __cdecl CTcpServer_CE::TcpThreadFunc(void *)” (?TcpThreadFunc@CTcpServer_CE@@CAKPAX@Z) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 listen,该符号在函数 “public: int __cdecl CTcpServer_CE::Open(void)” (?Open@CTcpServer_CE@@QAAHXZ) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 bind,该符号在函数 “public: int __cdecl CTcpServer_CE::Open(void)” (?Open@CTcpServer_CE@@QAAHXZ) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 htonl,该符号在函数 “public: int __cdecl CTcpServer_CE::Open(void)” (?Open@CTcpServer_CE@@QAAHXZ) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 htons,该符号在函数 “public: int __cdecl CTcpServer_CE::Open(void)” (?Open@CTcpServer_CE@@QAAHXZ) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 socket,该符号在函数 “public: int __cdecl CTcpServer_CE::Open(void)” (?Open@CTcpServer_CE@@QAAHXZ) 中被引用
1>TcpServer.obj : error LNK2019: 无法解析的外部符号 send,该符号在函数 “public: int __cdecl CTcpServer_CE::SendData(char const *,unsigned long)” (?SendData@CTcpServer_CE@@QAAHPBDK@Z) 中被引用

网上找了很久都没有解决方法,错误产生的原因是由于在WIN32智能设备控制台时使用了MFC的API,有很多网友说包含:#pragma comment(lib, “ws2_32.lib”)就可以解决,实际上对于WINCE控制台程序还是无法使用,可以考虑使用#pragma comment(lib, “winsock.lib”)即使用version 1.0的库,但是还会有一些无法找到,个人摸索了好久,终于找到解决方法,#pragma comment(lib, “ws2.lib”),一切搞定。特共享给有同样烦恼的朋友。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153490.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 解决rsync 同步auth failed on module问题

    解决rsync 同步auth failed on module问题解决rsync同步authfailedonmodule问题

    2022年10月25日
  • 电容的基础知识

    常用电容按介质区分有纸介电容、油浸纸介电容、金属化纸介电容、云母电容、薄膜电容、陶瓷电容、电解电容等。表1 常用电容的结构和特点电容种类电 容 结 构&#

    2021年12月26日
  • Centos 6.9_centos iptables

    Centos 6.9_centos iptables规则集类型hash:net#创建网络规则集(可以是是网段或者IP)hash:net,port#创建网络规则集,带端口,基础用法ipsetcreatefwhash:net#创建规则集ipsetaddfw10.0.0.0/24#给新加的规则添加IP段ipsetdelfw10.68.22.1/24#删除IPi…

    2022年10月6日
  • 文献导入endnote的几种方法(导入参考文献)

    对于科研学子来说,EndNote(或NoteExpress)是管理文献的利器,能够快速筛选文献与录入参考文献,非常适用于参考文献较多的场合。首先Endnote的安装这里就不赘述,直接附上安装包链接以及汉化补丁:链接:https://pan.baidu.com/s/1xGBWaXqFDsKuws-HGhrtfw提取码:33v4接下来就讲讲我们的正题:…

    2022年4月17日
  • Java实现九九乘法表[通俗易懂]

    Java实现九九乘法表[通俗易懂]有时候我们在java编程的时候,想实现九九乘法表的效果,怎么实现呢,下面来分享一下方法输出九九乘法口诀表,如图所示。观察九九乘法口诀表,可以得出图表的规律:总共有9行,第几行就有几个表达式。同时要注意每行表达式的规律:第j行,表达式就从j1开始,一直到jj结束,共有j个表达式,这个效果可以通过一次循环实现。这样的话,正好可以通过双重循环来控制输出,外层循环控制行数,内层循环控制列。还有个地方…

    2022年7月25日
  • BigDecimal 与 int,long,double之间的互转[通俗易懂]

    BigDecimal 与 int,long,double之间的互转[通俗易懂]BigDecimal与int,long,double之间的互转转换关系如下:int转换成BigDecimal/***int转Bigdecimal*/@Testpublicvoiddemo04(){inta=101;BigDecimalbig=newBigDecimal(a);System.out.prin…

    2022年5月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号