winsock 错误
生活随笔
收集整理的這篇文章主要介紹了
winsock 错误
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Windows平臺下用C++做網絡開發很多時候都會同時包含這兩個頭文件,如若順序不當(windows.h先于winsock2.h)就會出現很多莫名其妙的錯誤。諸如:
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(460) : 參見“AF_IPX”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(131): warning C4005: “AF_MAX”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(479) : 參見“AF_MAX”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(168): warning C4005: “SO_DONTLINGER”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(402) : 參見“SO_DONTLINGER”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(212): error C2011: “sockaddr”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(485) : 參見“sockaddr”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C2059: 語法錯誤:“常量”
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C3805: “常量”: 意外標記,應輸入“}”或者“,”
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(524): warning C4005: “IN_CLASSA”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(287) : 參見“IN_CLASSA”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(530): warning C4005: “IN_CLASSB”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(293) : 參見“IN_CLASSB”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(536): warning C4005: “IN_CLASSC”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(299) : 參見“IN_CLASSC”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(547): warning C4005: “INADDR_ANY”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(304) : 參見“INADDR_ANY”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(549): warning C4005: “INADDR_BROADCAST”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(306) : 參見“INADDR_BROADCAST”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(583): error C2011: “sockaddr_in”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(312) : 參見“sockaddr_in”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(132): error C2011: “fd_set”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(68) : 參見“fd_set”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(167): warning C4005: “FD_SET”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(102) : 參見“FD_SET”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(176): error C2011: “timeval”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(111) : 參見“timeval”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(232): error C2011: “hostent”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(167) : 參見“hostent”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(245): error C2011: “netent”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(180) : 參見“netent”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(252): error C2011: “servent”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(187) : 參見“servent”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(264): error C2011: “protoent”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(199) : 參見“protoent”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(360): error C2011: “WSAData”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(322) : 參見“WSAData”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(458): error C2011: “sockproto”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(494) : 參見“sockproto”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(500): error C2011: “linger”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(531) : 參見“linger”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(513): warning C4005: “SOMAXCONN”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(544) : 參見“SOMAXCONN”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(542): warning C4005: “FD_READ”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(562) : 參見“FD_READ”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(545): warning C4005: “FD_WRITE”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(563) : 參見“FD_WRITE”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(548): warning C4005: “FD_OOB”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(564) : 參見“FD_OOB”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(551): warning C4005: “FD_ACCEPT”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(565) : 參見“FD_ACCEPT”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(554): warning C4005: “FD_CONNECT”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(566) : 參見“FD_CONNECT”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(557): warning C4005: “FD_CLOSE”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(567) : 參見“FD_CLOSE”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1578): error C2375: “accept”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(742) : 參見“accept”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1600): error C2375: “bind”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(747) : 參見“bind”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1619): error C2375: “closesocket”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(752) : 參見“closesocket”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1638): error C2375: “connect”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(754) : 參見“connect”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1659): error C2375: “ioctlsocket”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(759) : 參見“ioctlsocket”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1680): error C2375: “getpeername”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(764) : 參見“getpeername”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1701): error C2375: “getsockname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(769) : 參見“getsockname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1724): error C2375: “getsockopt”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(774) : 參見“getsockopt”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1745): error C2375: “htonl”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(781) : 參見“htonl”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1762): error C2375: “htons”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(783) : 參見“htons”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1780): error C2375: “inet_addr”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(785) : 參見“inet_addr”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1797): error C2375: “inet_ntoa”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(787) : 參見“inet_ntoa”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1815): error C2375: “listen”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(789) : 參見“listen”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1833): error C2375: “ntohl”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(793) : 參見“ntohl”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1850): error C2375: “ntohs”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(795) : 參見“ntohs”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1870): error C2375: “recv”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(797) : 參見“recv”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1895): error C2375: “recvfrom”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(803) : 參見“recvfrom”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1921): error C2375: “select”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(811) : 參見“select”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1945): error C2375: “send”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(818) : 參見“send”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1970): error C2375: “sendto”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(824) : 參見“sendto”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1996): error C2375: “setsockopt”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(832) : 參見“setsockopt”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2018): error C2375: “shutdown”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(839) : 參見“shutdown”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2039): error C2375: “socket”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(843) : 參見“socket”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2063): error C2375: “gethostbyaddr”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(850) : 參見“gethostbyaddr”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2083): error C2375: “gethostbyname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(855) : 參見“gethostbyname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2101): error C2375: “gethostname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(857) : 參見“gethostname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2121): error C2375: “getservbyport”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(861) : 參見“getservbyport”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2141): error C2375: “getservbyname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(865) : 參見“getservbyname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2160): error C2375: “getprotobynumber”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(869) : 參見“getprotobynumber”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2178): error C2375: “getprotobyname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(871) : 參見“getprotobyname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2200): error C2375: “WSAStartup”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(875) : 參見“WSAStartup”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2219): error C2375: “WSACleanup”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(879) : 參見“WSACleanup”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2236): error C2375: “WSASetLastError”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(881) : 參見“WSASetLastError”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2253): error C2375: “WSAGetLastError”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(883) : 參見“WSAGetLastError”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2270): error C2375: “WSAIsBlocking”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(885) : 參見“WSAIsBlocking”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2287): error C2375: “WSAUnhookBlockingHook”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(887) : 參見“WSAUnhookBlockingHook”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2304): error C2375: “WSASetBlockingHook”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(889) : 參見“WSASetBlockingHook”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2321): error C2375: “WSACancelBlockingCall”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(891) : 參見“WSACancelBlockingCall”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2343): error C2375: “WSAAsyncGetServByName”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(893) : 參見“WSAAsyncGetServByName”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2370): error C2375: “WSAAsyncGetServByPort”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(901) : 參見“WSAAsyncGetServByPort”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2396): error C2375: “WSAAsyncGetProtoByName”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(909) : 參見“WSAAsyncGetProtoByName”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2421): error C2375: “WSAAsyncGetProtoByNumber”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(916) : 參見“WSAAsyncGetProtoByNumber”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2446): error C2375: “WSAAsyncGetHostByName”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(923) : 參見“WSAAsyncGetHostByName”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2473): error C2375: “WSAAsyncGetHostByAddr”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(930) : 參見“WSAAsyncGetHostByAddr”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2496): error C2375: “WSACancelAsyncRequest”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(939) : 參見“WSACancelAsyncRequest”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2517): error C2375: “WSAAsyncSelect”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(941) : 參見“WSAAsyncSelect”的聲明
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(8): error C2079: “wsaData”使用未定義的 struct“WSAData”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(12): error C2440: “初始化”: 無法從“SOCKET (__stdcall *)(int,int,int)”轉換為“SOCKET”
1>? ?? ?? ? 沒有使該轉換得以執行的上下文
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(20): error C2079: “servAddr”使用未定義的 struct“sockaddr_in”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(21): error C2228: “.sin_family”的左邊必須有類/結構/聯合
1>? ?? ?? ? 類型是“int”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(22): error C2228: “.sin_port”的左邊必須有類/結構/聯合
1>? ?? ?? ? 類型是“int”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(22): error C3861: “htons”: 找不到標識符
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(24): error C2228: “.sin_addr”的左邊必須有類/結構/聯合
1>? ?? ?? ? 類型是“int”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(24): error C2228: “.S_un”的左邊必須有類/結構/聯合
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(24): error C2228: “.S_addr”的左邊必須有類/結構/聯合
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(24): error C3861: “inet_addr”: 找不到標識符
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(25): error C2446: “==”: 沒有從“int”到“int (__stdcall *)(SOCKET,const sockaddr *,int)”的轉換
1>? ?? ?? ? 從整型轉換為指針類型要求 reinterpret_cast、C 樣式轉換或函數樣式轉換
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(25): error C2040: “==”:“int (__stdcall *)(SOCKET,const sockaddr *,int)”與“int”的間接尋址級別不同
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(33): error C2440: “初始化”: 無法從“int (__stdcall *)(SOCKET,char *,int,int)”轉換為“int”
1>? ?? ?? ? 沒有使該轉換得以執行的上下文
要了命了~~~~
一堆的錯誤委實不爽,但是只要將二者的包含順序調換一下問題就會解決
事實上一直都用的是Winsock1的,還從來沒有用過Winsock2,今天開始使用它,但是出現了一大堆的錯誤,都是那個C2011和C2375之類的錯誤。當時就想,是不是2和1發生了沖突了?但是我沒有包含過1的頭文件啊?!
后來一查,在Windows.h里面發現了這么一段代碼:??氣死我了
#ifndef _MAC #include <winperf.h> #include <winsock.h> #endif 復制代碼 死人了把。。。。下面這樣做可以解決
#define WIN32_LEAN_AND_MEAN? #include <Windows.h> 復制代碼 #define WIN32_LEAN_AND_MEAN這條語句,它能夠將上面的語句包含winsock.h的語句消減掉。
也可以這樣
#ifndef _WINSOCKAPI_? ?? ?? ???// 沒有包含winsock.h #define _WINSOCKAPI_? ?? ?? ???// 避免再包含winsock.h ? ???#ifndef _WINSOCK2API_? ?? ?// 沒有包含winsock2.h ? ? #define _WINSOCK2API_? ?? ?// 避免再包含winsock2.h ? ?? ?? ?#include <winsock2.h> ? ?? ?? ?#pragma comment(lib, "ws32_2.lib") ? ? #endif #endif 復制代碼 注意啊??如果先包含了windows.h??那么這條語句就廢了。。。。
include語句最前面加上#include <winsock2.h>和#include<windows.h>,世界清靜了。
?
c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(91): warning C4005: “AF_IPX”: 宏重定義1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(460) : 參見“AF_IPX”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(131): warning C4005: “AF_MAX”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(479) : 參見“AF_MAX”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(168): warning C4005: “SO_DONTLINGER”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(402) : 參見“SO_DONTLINGER”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(212): error C2011: “sockaddr”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(485) : 參見“sockaddr”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C2059: 語法錯誤:“常量”
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(390): error C3805: “常量”: 意外標記,應輸入“}”或者“,”
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(524): warning C4005: “IN_CLASSA”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(287) : 參見“IN_CLASSA”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(530): warning C4005: “IN_CLASSB”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(293) : 參見“IN_CLASSB”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(536): warning C4005: “IN_CLASSC”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(299) : 參見“IN_CLASSC”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(547): warning C4005: “INADDR_ANY”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(304) : 參見“INADDR_ANY”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(549): warning C4005: “INADDR_BROADCAST”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(306) : 參見“INADDR_BROADCAST”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\ws2def.h(583): error C2011: “sockaddr_in”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(312) : 參見“sockaddr_in”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(132): error C2011: “fd_set”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(68) : 參見“fd_set”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(167): warning C4005: “FD_SET”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(102) : 參見“FD_SET”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(176): error C2011: “timeval”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(111) : 參見“timeval”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(232): error C2011: “hostent”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(167) : 參見“hostent”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(245): error C2011: “netent”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(180) : 參見“netent”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(252): error C2011: “servent”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(187) : 參見“servent”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(264): error C2011: “protoent”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(199) : 參見“protoent”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(360): error C2011: “WSAData”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(322) : 參見“WSAData”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(458): error C2011: “sockproto”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(494) : 參見“sockproto”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(500): error C2011: “linger”:“struct”類型重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(531) : 參見“linger”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(513): warning C4005: “SOMAXCONN”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(544) : 參見“SOMAXCONN”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(542): warning C4005: “FD_READ”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(562) : 參見“FD_READ”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(545): warning C4005: “FD_WRITE”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(563) : 參見“FD_WRITE”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(548): warning C4005: “FD_OOB”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(564) : 參見“FD_OOB”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(551): warning C4005: “FD_ACCEPT”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(565) : 參見“FD_ACCEPT”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(554): warning C4005: “FD_CONNECT”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(566) : 參見“FD_CONNECT”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(557): warning C4005: “FD_CLOSE”: 宏重定義
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(567) : 參見“FD_CLOSE”的前一個定義
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1578): error C2375: “accept”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(742) : 參見“accept”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1600): error C2375: “bind”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(747) : 參見“bind”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1619): error C2375: “closesocket”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(752) : 參見“closesocket”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1638): error C2375: “connect”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(754) : 參見“connect”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1659): error C2375: “ioctlsocket”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(759) : 參見“ioctlsocket”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1680): error C2375: “getpeername”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(764) : 參見“getpeername”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1701): error C2375: “getsockname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(769) : 參見“getsockname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1724): error C2375: “getsockopt”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(774) : 參見“getsockopt”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1745): error C2375: “htonl”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(781) : 參見“htonl”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1762): error C2375: “htons”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(783) : 參見“htons”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1780): error C2375: “inet_addr”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(785) : 參見“inet_addr”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1797): error C2375: “inet_ntoa”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(787) : 參見“inet_ntoa”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1815): error C2375: “listen”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(789) : 參見“listen”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1833): error C2375: “ntohl”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(793) : 參見“ntohl”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1850): error C2375: “ntohs”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(795) : 參見“ntohs”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1870): error C2375: “recv”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(797) : 參見“recv”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1895): error C2375: “recvfrom”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(803) : 參見“recvfrom”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1921): error C2375: “select”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(811) : 參見“select”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1945): error C2375: “send”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(818) : 參見“send”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1970): error C2375: “sendto”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(824) : 參見“sendto”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(1996): error C2375: “setsockopt”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(832) : 參見“setsockopt”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2018): error C2375: “shutdown”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(839) : 參見“shutdown”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2039): error C2375: “socket”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(843) : 參見“socket”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2063): error C2375: “gethostbyaddr”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(850) : 參見“gethostbyaddr”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2083): error C2375: “gethostbyname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(855) : 參見“gethostbyname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2101): error C2375: “gethostname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(857) : 參見“gethostname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2121): error C2375: “getservbyport”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(861) : 參見“getservbyport”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2141): error C2375: “getservbyname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(865) : 參見“getservbyname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2160): error C2375: “getprotobynumber”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(869) : 參見“getprotobynumber”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2178): error C2375: “getprotobyname”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(871) : 參見“getprotobyname”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2200): error C2375: “WSAStartup”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(875) : 參見“WSAStartup”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2219): error C2375: “WSACleanup”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(879) : 參見“WSACleanup”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2236): error C2375: “WSASetLastError”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(881) : 參見“WSASetLastError”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2253): error C2375: “WSAGetLastError”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(883) : 參見“WSAGetLastError”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2270): error C2375: “WSAIsBlocking”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(885) : 參見“WSAIsBlocking”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2287): error C2375: “WSAUnhookBlockingHook”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(887) : 參見“WSAUnhookBlockingHook”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2304): error C2375: “WSASetBlockingHook”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(889) : 參見“WSASetBlockingHook”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2321): error C2375: “WSACancelBlockingCall”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(891) : 參見“WSACancelBlockingCall”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2343): error C2375: “WSAAsyncGetServByName”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(893) : 參見“WSAAsyncGetServByName”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2370): error C2375: “WSAAsyncGetServByPort”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(901) : 參見“WSAAsyncGetServByPort”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2396): error C2375: “WSAAsyncGetProtoByName”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(909) : 參見“WSAAsyncGetProtoByName”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2421): error C2375: “WSAAsyncGetProtoByNumber”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(916) : 參見“WSAAsyncGetProtoByNumber”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2446): error C2375: “WSAAsyncGetHostByName”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(923) : 參見“WSAAsyncGetHostByName”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2473): error C2375: “WSAAsyncGetHostByAddr”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(930) : 參見“WSAAsyncGetHostByAddr”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2496): error C2375: “WSACancelAsyncRequest”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(939) : 參見“WSACancelAsyncRequest”的聲明
1>c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock2.h(2517): error C2375: “WSAAsyncSelect”: 重定義;不同的鏈接
1>? ?? ?? ? c:\program files (x86)\microsoft sdks\windows\v7.0a\include\winsock.h(941) : 參見“WSAAsyncSelect”的聲明
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(8): error C2079: “wsaData”使用未定義的 struct“WSAData”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(12): error C2440: “初始化”: 無法從“SOCKET (__stdcall *)(int,int,int)”轉換為“SOCKET”
1>? ?? ?? ? 沒有使該轉換得以執行的上下文
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(20): error C2079: “servAddr”使用未定義的 struct“sockaddr_in”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(21): error C2228: “.sin_family”的左邊必須有類/結構/聯合
1>? ?? ?? ? 類型是“int”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(22): error C2228: “.sin_port”的左邊必須有類/結構/聯合
1>? ?? ?? ? 類型是“int”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(22): error C3861: “htons”: 找不到標識符
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(24): error C2228: “.sin_addr”的左邊必須有類/結構/聯合
1>? ?? ?? ? 類型是“int”
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(24): error C2228: “.S_un”的左邊必須有類/結構/聯合
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(24): error C2228: “.S_addr”的左邊必須有類/結構/聯合
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(24): error C3861: “inet_addr”: 找不到標識符
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(25): error C2446: “==”: 沒有從“int”到“int (__stdcall *)(SOCKET,const sockaddr *,int)”的轉換
1>? ?? ?? ? 從整型轉換為指針類型要求 reinterpret_cast、C 樣式轉換或函數樣式轉換
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(25): error C2040: “==”:“int (__stdcall *)(SOCKET,const sockaddr *,int)”與“int”的間接尋址級別不同
1>f:\代碼\code練習冊\clentceshi\clentceshi\client.cpp(33): error C2440: “初始化”: 無法從“int (__stdcall *)(SOCKET,char *,int,int)”轉換為“int”
1>? ?? ?? ? 沒有使該轉換得以執行的上下文
要了命了~~~~
一堆的錯誤委實不爽,但是只要將二者的包含順序調換一下問題就會解決
事實上一直都用的是Winsock1的,還從來沒有用過Winsock2,今天開始使用它,但是出現了一大堆的錯誤,都是那個C2011和C2375之類的錯誤。當時就想,是不是2和1發生了沖突了?但是我沒有包含過1的頭文件啊?!
后來一查,在Windows.h里面發現了這么一段代碼:??氣死我了
也可以這樣
include語句最前面加上#include <winsock2.h>和#include<windows.h>,世界清靜了。
轉載于:https://www.cnblogs.com/lifan3a/articles/8029226.html
總結
以上是生活随笔為你收集整理的winsock 错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qt 程序发布
- 下一篇: java数值运算后精度丢失问题