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

【问题描述】

在编译socket相关代码时,提示下面这样的错误(这只是其中第一行错误):

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"

 

 

你可能感兴趣的:(Windows,锦囊妙计)