winsock.h与winsock2.h出现重定义或不同的链接

错误:

winsock.h与winsock2.h出现重定义或不同的链接

主要原因:

主要原因是因为<Windows.h>中包含了<Winsock.h>头文件,由于其版本的不同

解决方案一: 添加预编译头

项目属性 ——> C/C++ ———> 预处理器 -------> 预处理器定义

增加如下定义

WIN32_LEAN_AND_MEAN
winsock.h与winsock2.h出现重定义或不同的链接
解决方案二:

在编译不过的头文件前面增加

#include <Winsock2.h>

特别是用到了<windows.h>