error C2011: “sockaddr”:“struct”类型重定义错误 ----解决办法

很多程序比如MFC程序它本身就不是直接包含windows.h,你找不到它的包含位置。也报这个错误。


     windows.h和winsock2.h存在有类型重定义,往往体现在VC程序中包含winsock2.h时出现编译错误:

error C2011: “sockaddr_in”:“struct”类型重定义

网友提出的解决办法是将

#include<windows.h>之前 #include <winsock2.h>

这个不是好的解决办法,因为很多程序比如MFC程序它本身就不是直接包含windows.h,你找不到它的包含位置。好的解决办法是添加WIN32_LEAN_AND_MEAN这个预处理器,具体如下图:

测试环境:

64位win10,VS2013

发布了265 篇原创文章 · 获赞 20 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/ccnu027cs/article/details/103593923