[编译错误:warning C4005]ws2def.h(91): warning C4005: “AF_IPX”: 宏重定义 winsock.h(460) : 参见“AF_IPX”的前一个定义

By taotaoyouarebaby

出处:https://blog.csdn.net/taotaoyouarebaby/article/details/25156861

【问题】

ws2def.h(91): warning C4005: “AF_IPX”: 宏重定义; winsock2.h(460) : 参见“AF_IPX”的前一个定义

【原因】

windows.h头文件中已经包含有winsock.h,winsock.h和winsock2.h定义了一样的宏。

【解决方案】

方案一:定义宏WIN32_LEAN_AND_MEAN 

属性->配置属性->c/c++ ->预处理器->预处理器定义:添加WIN32_LEAN_AND_MEAN 

如果该宏定义存在,windows.h就不会包含winsock.h。

方案二:将winsock2.h文件写在windows.h之前。

        #include "winsock2.h"
        #include "windows.h"
原文地址:https://www.cnblogs.com/liujx2019/p/14179999.html