作者:朱金灿
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位win7,VS2015