WinSock2.h与ws2def.h重定义问题


最近在用Visual Studio 做开发,代码改动后编译出现大量莫名其妙的错误:如下

最终解决方法如下:

如果是win32使用VS原始IDE构建的程序:

在vs的项目属性设置中找到C/C++选项下的预处理器,在预处理器定义中添加WIN32_LEAN_AND_MEAN

WIN32_LEAN_AND_MEAN

如果使用cmake构建,可以在cmakelist.txt中添加该宏定义

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  /DWIN32_LEAN_AND_MEAN")