windows下socket编程库文件导入

bug解决经验

  • 1、用VS2013写socket程序,需要添加头文件#include <WinSock2.h>。而且光有这个还不够,可能会出现错误提示:error LNK2019: 无法解析的外部符号 _bind@12,该符号在函数 _main 中被引 。socket里面很重要的一些函数,比如bind()不能用,这可不行。错误原因是相关的lib库找不到。

解决方法:
方法1、项目->属性->配置属性->链接器->输入->附加依赖项”里添加“ws2_32.lib”。
然后再编译就不会有错误了。此方法对当前编辑的项目的所有源文件有效
方法2、在导入头文件的后一行加入#pragma comment(lib,"ws2_32.lib")
此方法只对此源文件有效。作用域更小了

  • 2、同上socket程序中,出现错误error C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings。错误原因是安全检查警告问题,本身不算是错误。

解决方法:
项目->属性->配置属性->C/C++->常规->SDL检查:(改成“否”),原默认“是”

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。