VS2010包含windows.h时winsock2.h出现"fd_set":struct类型重定义错误处理

[问题描述]
   在包含了以及的工程中,编译有时会出现如
下错误:

     error C2011: 'fd_set' : 'struct' type redefinition
     error C2011: 'timeval' : 'struct' type redefinition
                     ....
     error C2375: 'accept' : redefinition; different linkage
[原因分析]
   主要原因是因为中包含了头文件,由于其版
本的不同,导致出
现上述的错误。中相关代码如下:
               #ifndef WIN32_LEAN_AND_MEAN
               #include
               #include
               #include
               ........
                #ifndef _MAC
               #include
               #include
               #endif
                .......

               #include
               #endif
               #endif
[解决方案]
    由以上代码可以看出如果在没有定义WIN32_LEAN_AND_MEAN宏
的大前
提下windows.h有可能包含winsock.h 头文件,因此我们得出一个很简单
的解决方
法就是在包含之前定义WIN32_LEAN_AND_MEAN宏,如
下所示:
#define WIN32_LEAN_AND_M
EAN
#include

附注:转自网络 

你可能感兴趣的:(VC++)