[编译错误:warning C4005]ws2def.h(91): warning C4005: “AF_IPX”: 宏重定义 winsock.h(460) : 参见“AF_IPX”的前一个定义
出处: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"