问题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.

无法解析的外部符号问题小结相关推荐

  1. VS2019 无法解析的外部符号 cublasSgemm_v2

    VS2019 无法解析的外部符号 cublasSgemm_v2问题解决方案 在使用vs2019编译cuda时出现一下错误 1. 首先找到自己的环境配置,看看是否出现问题 win+R输入cmd启动 nv ...

  2. VTK 无法解析的外部符号的解决办法

    当你VTk所有目录和链接库加入到属性页中后,或许还会遇见一个让人头疼的问题: 这是为什么呢? 大部分新手可能都是在配置完毕后亟不可待地在网上找了一段测试代码就进行测试,并没有考虑测试代码之中的陷阱.然 ...

  3. Visual Studio 出现“无法解析的外部符号”错误

    今天编译igstk中一个helloworld项目,添加了.h文件.编译出现"无法解析的外部符号"错误.根据提示可能是缺少了实现文件,可能是.cxx文件,.lib文件吧.然后在igs ...

  4. error LNK2001: 无法解析的外部符号 public: static int Pe...

    2019独角兽企业重金招聘Python工程师标准>>> error LNK2001: 无法解析的外部符号 "public: static int Person::b&quo ...

  5. C++ error LNK2019: 无法解析的外部符号 错误解决方案

    今天在实现类模板特例化的时候遇到一个问题,就是把类模板函数实现放到类的cpp文件中,然后在main函数中使用这个类的时候,就会出现无法解析的外部符号:函数名(xxxx)等错误,那么出现这个错误的原因是 ...

  6. error LNK2001: 无法解析的外部符号 “void __cdecl cv::cvtColor

    c++调用opencv时报错了, error LNK2001: 无法解析的外部符号 "void __cdecl cv::cvtColor 现在发现有两个可能的原因: 原因1: 没有添加lib ...

  7. 错误 LNK2019 无法解析的外部符号 “public: void __cdecl cv::Mat::copyTo(class cv::debug_build_guard::_OutputArray

    错误 LNK2019 无法解析的外部符号 "public: void __cdecl cv::Mat::copyTo(class cv::debug_build_guard::_Output ...

  8. 无法解析的外部符号 “public: __cdecl nvinfer1::YoloPluginCreator::YoloPluginCreator

    无法解析的外部符号 "public: __cdecl nvinfer1::YoloPluginCreator::YoloPluginCreator 解决方法1: 不选择c++项目,而选择建一 ...

  9. error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCR... 2011年08月05日 09:08:15

    经过测试,能解决问题 error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCR... 一,问题描述 MSVCRTD.lib(crtexew.obj) ...

最新文章

  1. ES6 一些常用使用
  2. anguarjs 图片预览_Text to Image Converter(文字转图片软件)下载-Text to Image Converter(文字转图片软件)v1.5绿色版下载...
  3. Mac 技术篇-VS Code自动换行设置
  4. contiki源码阅读之list
  5. 从零写一个编译器(五):语法分析之自动机的缺陷和改进
  6. win10远程桌面连接ubuntu18.04
  7. Gridview应用技巧——如何为行添加事件
  8. python笨办法_笨办法学Python(十)
  9. 3dMax-win-64bit软件的安装-配置
  10. SPSS调节效应检验(图文+数据集)【SPSS 045期】
  11. 【从零开始学架构-李运华】01|架构到底是指什么?
  12. python姿态识别_基于深度学习的人体姿态识别算法总结
  13. 计算机毕业设计Java物料生产管理系统(源码+系统+mysql数据库+Lw文档)
  14. 和丰钢结构企业erp管理软件
  15. [心得]最重要的事情只有一件!精华笔记
  16. 复制网站zencart模板的方法
  17. AfterEffects CS6安装插件教程
  18. 如何做好性能压测(一):压测环境的设计和搭建
  19. 机器人史宾_史宾机器人:重启
  20. Wikidata知识图谱介绍与数据处理

热门文章

  1. 2017最全的php面试题目及答案总结
  2. Java实现数组反转翻转的方法
  3. [护网杯 2018]easy_tornado 1
  4. HTML5+CSS3之透明效果设置
  5. 运算放大器工作原理(杨老师模拟电子学习)
  6. Oracle 12C -- 设置CDB启动后,PDBs自动启动
  7. 给App加上音频编辑功能,让你的用户Show起来
  8. guns框架企业版添加模块
  9. #第六届立创电赛#离线语音控制的空调智能插座
  10. 树莓派2B 配置无线wifi dhcp 静态IP,同时开机启动