Windows下进行Socket编程问题

做Windows网络编程经常遇到下面这种情况:

c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(112) : error C2011: “fd_set”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(54) : 参见“fd_set”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(147) : warning C4005: “FD_SET”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(88) : 参见“FD_SET”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(156) : error C2011: “timeval”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(97) : 参见“timeval”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(212) : error C2011: “hostent”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(153) : 参见“hostent”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(225) : error C2011: “netent”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(166) : 参见“netent”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(232) : error C2011: “servent”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(173) : 参见“servent”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(244) : error C2011: “protoent”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(185) : 参见“protoent”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(400) : error C2011: “sockaddr_in”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(321) : 参见“sockaddr_in”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(410) : error C2011: “WSAData”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(331) : 参见“WSAData”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(470) : warning C4005: “SO_DONTLINGER”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(411) : 参见“SO_DONTLINGER”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(527) : warning C4005: “AF_IPX”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(469) : 参见“AF_IPX”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(555) : warning C4005: “AF_MAX”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(488) : 参见“AF_MAX”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(561) : error C2011: “sockaddr”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(494) : 参见“sockaddr”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(601) : error C2011: “sockproto”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(503) : 参见“sockproto”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(640) : error C2011: “linger”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(540) : 参见“linger”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(653) : warning C4005: “SOMAXCONN”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(553) : 参见“SOMAXCONN”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(679) : warning C4005: “FD_READ”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(571) : 参见“FD_READ”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(682) : warning C4005: “FD_WRITE”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(572) : 参见“FD_WRITE”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(685) : warning C4005: “FD_OOB”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(573) : 参见“FD_OOB”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(688) : warning C4005: “FD_ACCEPT”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(574) : 参见“FD_ACCEPT”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(691) : warning C4005: “FD_CONNECT”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(575) : 参见“FD_CONNECT”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(694) : warning C4005: “FD_CLOSE”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(576) : 参见“FD_CLOSE”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1626) : error C2375: “accept”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(744) : 参见“accept”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1647) : error C2375: “bind”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(749) : 参见“bind”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1666) : error C2375: “closesocket”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(754) : 参见“closesocket”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1685) : error C2375: “connect”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(756) : 参见“connect”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1706) : error C2375: “ioctlsocket”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(761) : 参见“ioctlsocket”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1727) : error C2375: “getpeername”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(766) : 参见“getpeername”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1748) : error C2375: “getsockname”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(771) : 参见“getsockname”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1771) : error C2375: “getsockopt”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(776) : 参见“getsockopt”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1792) : error C2375: “htonl”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(783) : 参见“htonl”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1809) : error C2375: “htons”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(785) : 参见“htons”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1826) : error C2375: “inet_addr”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(787) : 参见“inet_addr”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1843) : error C2375: “inet_ntoa”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(789) : 参见“inet_ntoa”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1861) : error C2375: “listen”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(791) : 参见“listen”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1879) : error C2375: “ntohl”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(795) : 参见“ntohl”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1896) : error C2375: “ntohs”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(797) : 参见“ntohs”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1916) : error C2375: “recv”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(799) : 参见“recv”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1941) : error C2375: “recvfrom”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(805) : 参见“recvfrom”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1967) : error C2375: “select”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(813) : 参见“select”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(1991) : error C2375: “send”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(820) : 参见“send”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2016) : error C2375: “sendto”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(826) : 参见“sendto”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2042) : error C2375: “setsockopt”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(834) : 参见“setsockopt”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2064) : error C2375: “shutdown”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(841) : 参见“shutdown”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2084) : error C2375: “socket”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(845) : 参见“socket”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2107) : error C2375: “gethostbyaddr”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(852) : 参见“gethostbyaddr”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2126) : error C2375: “gethostbyname”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(857) : 参见“gethostbyname”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2144) : error C2375: “gethostname”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(859) : 参见“gethostname”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2163) : error C2375: “getservbyport”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(863) : 参见“getservbyport”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2182) : error C2375: “getservbyname”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(867) : 参见“getservbyname”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2200) : error C2375: “getprotobynumber”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(871) : 参见“getprotobynumber”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2217) : error C2375: “getprotobyname”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(873) : 参见“getprotobyname”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2237) : error C2375: “WSAStartup”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(877) : 参见“WSAStartup”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2255) : error C2375: “WSACleanup”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(881) : 参见“WSACleanup”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2272) : error C2375: “WSASetLastError”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(883) : 参见“WSASetLastError”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2289) : error C2375: “WSAGetLastError”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(885) : 参见“WSAGetLastError”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2306) : error C2375: “WSAIsBlocking”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(887) : 参见“WSAIsBlocking”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2323) : error C2375: “WSAUnhookBlockingHook”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(889) : 参见“WSAUnhookBlockingHook”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2340) : error C2375: “WSASetBlockingHook”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(891) : 参见“WSASetBlockingHook”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2357) : error C2375: “WSACancelBlockingCall”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(893) : 参见“WSACancelBlockingCall”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2379) : error C2375: “WSAAsyncGetServByName”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(895) : 参见“WSAAsyncGetServByName”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2406) : error C2375: “WSAAsyncGetServByPort”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(903) : 参见“WSAAsyncGetServByPort”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2432) : error C2375: “WSAAsyncGetProtoByName”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(911) : 参见“WSAAsyncGetProtoByName”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2457) : error C2375: “WSAAsyncGetProtoByNumber”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(918) : 参见“WSAAsyncGetProtoByNumber”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2482) : error C2375: “WSAAsyncGetHostByName”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(925) : 参见“WSAAsyncGetHostByName”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2509) : error C2375: “WSAAsyncGetHostByAddr”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(932) : 参见“WSAAsyncGetHostByAddr”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2532) : error C2375: “WSACancelAsyncRequest”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(941) : 参见“WSACancelAsyncRequest”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock2.h(2552) : error C2375: “WSAAsyncSelect”: 重定义;不同的链接
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(943) : 参见“WSAAsyncSelect”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(28) : error C2011: “ip_mreq”: “struct”类型重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(372) : 参见“ip_mreq”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(71) : warning C4005: “IP_TOS”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(361) : 参见“IP_TOS”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(72) : warning C4005: “IP_TTL”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(360) : 参见“IP_TTL”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(73) : warning C4005: “IP_MULTICAST_IF”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(355) : 参见“IP_MULTICAST_IF”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(74) : warning C4005: “IP_MULTICAST_TTL”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(356) : 参见“IP_MULTICAST_TTL”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(75) : warning C4005: “IP_MULTICAST_LOOP”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(357) : 参见“IP_MULTICAST_LOOP”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(76) : warning C4005: “IP_ADD_MEMBERSHIP”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(358) : 参见“IP_ADD_MEMBERSHIP”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(77) : warning C4005: “IP_DROP_MEMBERSHIP”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(359) : 参见“IP_DROP_MEMBERSHIP”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(78) : warning C4005: “IP_DONTFRAGMENT”: 宏重定义
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(362) : 参见“IP_DONTFRAGMENT”的前一个定义
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(359) : error C2079: “sockaddr_gen::Address”使用未定义的 struct“sockaddr”
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\ws2tcpip.h(360) : error C2079: “sockaddr_gen::AddressIn”使用未定义的 struct“sockaddr_in”
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(157) : error C2440: “=”: 无法从“unsigned long (__stdcall *)(const char *)”转换为“DWORD”
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(157) : error C2440: “=”: 无法从“unsigned long (__stdcall *)(const char *)”转换为“DWORD”
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(157) : error C3861: “inet_addr”: 找不到标识符
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(208) : error C2027: 使用了未定义类型“sockaddr_in”
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(321) : 参见“sockaddr_in”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(208) : error C2227: “->sin_family”的左边必须指向类/结构/联合/泛型类型
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(209) : error C2027: 使用了未定义类型“sockaddr_in”
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(321) : 参见“sockaddr_in”的声明
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(209) : error C2227: “->sin_port”的左边必须指向类/结构/联合/泛型类型
1>c:\program files\microsoft visual studio 8\vc\platformsdk\include\wspiapi.h(210) : error C2027: 使用了未定义类型“sockaddr_in”
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\winsock.h(321) : 参见“sockaddr_in”的声明

遇到这种情况,网上说的比较多的是调整winsock.h和windows.h的位置,但是项目比较大的时候,多处都用到这些文件,甚至在进行二次开发的时候,这样的方法是很难解决问题的,这里visual studio提供了一个宏定义,可以很好的解决这个问题:WIN32_LEAN_AND_MEAN,希望对大家有用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值