“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这个预处理器,具体如下图:

image.png

测试环境:

64位win10,VS2022

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容