winsock.h和winsock2.h重复定义问题~~
我的工程里面包含了winsock.h和winsock2.h还有windows.h,但是都分别在几个头文件里定义的,而且定义前都#ifndef和#endif防止重复定义了~~为何还是会出现很多重复定义的~~如:
c:\program files\microsoft visual studio\vc98\include\winsock2.h(99) : error C2011: 'fd_set' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(134) : warning C4005: 'FD_SET' : macro redefinition
c:\program files\microsoft visual studio\vc98\include\winsock.h(83) : see previous definition of 'FD_SET'
c:\program files\microsoft visual studio\vc98\include\winsock2.h(143) : error C2011: 'timeval' : 'struct' type redefinition
c:\program files\microsoft visual studio\vc98\include\winsock2.h(199) : error C2011: 'hostent' : 'struct' type redefinition
……
……
一百来个~~网上查了下有的说去掉windows.h,有的说在windows.h之前用winsock2.h,都不行~~~
就是不理解定义前都#ifndef和#endif防止重复定义了~~为何还是会出现很多重复定义的~~