C++ 和ws2def.h相关的一坨错误
一坨E0040 应输入标识符、应输入{ 等等错误
原因是因为引用顺序:“winsock2.h”和"windows.h"的顺序:
“winsock2.h”定义了_WINSOCKAPI_,原意是不要编译''winsock.h"。如果"windows.h"在“winsock2.h”前面,那么会先include “winsock.h”编译,后再“winsock2.h”时遇到了重定义。
所以先include “winsock2.h”再include "windows.h"就可以避开这些重定义。
另外一条路:在include "windows.h"之前添加#define _WINSOCKAPI_。
这两个方法都是为了在编译“winsock2.h”的同时不要编译''winsock.h",
引用自:http://blog.chinaunix.net/uid-13614124-id-3654228.html