winsock2.h里面已经定义了_WINSOCKAPI_宏,这个宏就是为了防止重复包含winsock.h,所以只需要在所有没有编译通过的cpp文件最开始,包含winsock2.h即可。   

#ifndef _WINSOCK2API_
#define _WINSOCK2API_
#define _WINSOCKAPI_   /* Prevent inclusion of winsock.h in windows.h */