error C2011: 'fd_set' : 'struct' type redefinition 。。。

本文解决了因同时包含winsock.h和winsock2.h导致的宏定义和类型重复定义问题。通过预定义_WINSOCKAPI_宏阻止windows.h中winsock.h的自动包含,避免错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(460) : see previous definition of 'AF_IPX'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(127) : warning C4005: 'AF_MAX' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(479) : see previous definition of 'AF_MAX'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(163) : warning C4005: 'SO_DONTLINGER' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(402) : see previous definition of 'SO_DONTLINGER'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(206) : error C2011: 'sockaddr' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(485) : see declaration of 'sockaddr'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2143: syntax error : missing '}' before 'constant'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2143: syntax error : missing ';' before 'constant'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(384) : error C2059: syntax error : 'constant'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C2143: syntax error : missing ';' before '}'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(437) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(518) : warning C4005: 'IN_CLASSA' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(287) : see previous definition of 'IN_CLASSA'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(524) : warning C4005: 'IN_CLASSB' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(293) : see previous definition of 'IN_CLASSB'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(530) : warning C4005: 'IN_CLASSC' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(299) : see previous definition of 'IN_CLASSC'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(541) : warning C4005: 'INADDR_ANY' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(304) : see previous definition of 'INADDR_ANY'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(543) : warning C4005: 'INADDR_BROADCAST' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(306) : see previous definition of 'INADDR_BROADCAST'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2def.h(577) : error C2011: 'sockaddr_in' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(312) : see declaration of 'sockaddr_in'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(132) : error C2011: 'fd_set' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(68) : see declaration of 'fd_set'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(167) : warning C4005: 'FD_SET' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(102) : see previous definition of 'FD_SET'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(176) : error C2011: 'timeval' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(111) : see declaration of 'timeval'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(232) : error C2011: 'hostent' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(167) : see declaration of 'hostent'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(245) : error C2011: 'netent' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(180) : see declaration of 'netent'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(252) : error C2011: 'servent' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(187) : see declaration of 'servent'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(264) : error C2011: 'protoent' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(199) : see declaration of 'protoent'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(360) : error C2011: 'WSAData' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(322) : see declaration of 'WSAData'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(458) : error C2011: 'sockproto' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(494) : see declaration of 'sockproto'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(500) : error C2011: 'linger' : 'struct' type redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(531) : see declaration of 'linger'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(513) : warning C4005: 'SOMAXCONN' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(544) : see previous definition of 'SOMAXCONN'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(542) : warning C4005: 'FD_READ' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(562) : see previous definition of 'FD_READ'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(545) : warning C4005: 'FD_WRITE' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(563) : see previous definition of 'FD_WRITE'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(548) : warning C4005: 'FD_OOB' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(564) : see previous definition of 'FD_OOB'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(551) : warning C4005: 'FD_ACCEPT' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(565) : see previous definition of 'FD_ACCEPT'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(554) : warning C4005: 'FD_CONNECT' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(566) : see previous definition of 'FD_CONNECT'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(557) : warning C4005: 'FD_CLOSE' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(567) : see previous definition of 'FD_CLOSE'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1527) : error C2375: 'accept' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(735) : see declaration of 'accept'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1548) : error C2375: 'bind' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(740) : see declaration of 'bind'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1567) : error C2375: 'closesocket' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(745) : see declaration of 'closesocket'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1586) : error C2375: 'connect' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(747) : see declaration of 'connect'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1607) : error C2375: 'ioctlsocket' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(752) : see declaration of 'ioctlsocket'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1628) : error C2375: 'getpeername' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(757) : see declaration of 'getpeername'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1649) : error C2375: 'getsockname' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(762) : see declaration of 'getsockname'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1672) : error C2375: 'getsockopt' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(767) : see declaration of 'getsockopt'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1693) : error C2375: 'htonl' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(774) : see declaration of 'htonl'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1710) : error C2375: 'htons' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(776) : see declaration of 'htons'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1728) : error C2375: 'inet_addr' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(778) : see declaration of 'inet_addr'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1745) : error C2375: 'inet_ntoa' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(780) : see declaration of 'inet_ntoa'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1763) : error C2375: 'listen' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(782) : see declaration of 'listen'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1781) : error C2375: 'ntohl' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(786) : see declaration of 'ntohl'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1798) : error C2375: 'ntohs' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(788) : see declaration of 'ntohs'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1818) : error C2375: 'recv' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(790) : see declaration of 'recv'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1843) : error C2375: 'recvfrom' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(796) : see declaration of 'recvfrom'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1869) : error C2375: 'select' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(804) : see declaration of 'select'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1893) : error C2375: 'send' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(811) : see declaration of 'send'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1918) : error C2375: 'sendto' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(817) : see declaration of 'sendto'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1944) : error C2375: 'setsockopt' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(825) : see declaration of 'setsockopt'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1966) : error C2375: 'shutdown' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(832) : see declaration of 'shutdown'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(1986) : error C2375: 'socket' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(836) : see declaration of 'socket'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2009) : error C2375: 'gethostbyaddr' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(843) : see declaration of 'gethostbyaddr'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2029) : error C2375: 'gethostbyname' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(848) : see declaration of 'gethostbyname'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2047) : error C2375: 'gethostname' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(850) : see declaration of 'gethostname'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2067) : error C2375: 'getservbyport' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(854) : see declaration of 'getservbyport'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2087) : error C2375: 'getservbyname' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(858) : see declaration of 'getservbyname'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2106) : error C2375: 'getprotobynumber' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(862) : see declaration of 'getprotobynumber'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2124) : error C2375: 'getprotobyname' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(864) : see declaration of 'getprotobyname'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2145) : error C2375: 'WSAStartup' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(868) : see declaration of 'WSAStartup'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2163) : error C2375: 'WSACleanup' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(872) : see declaration of 'WSACleanup'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2180) : error C2375: 'WSASetLastError' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(874) : see declaration of 'WSASetLastError'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2197) : error C2375: 'WSAGetLastError' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(876) : see declaration of 'WSAGetLastError'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2214) : error C2375: 'WSAIsBlocking' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(878) : see declaration of 'WSAIsBlocking'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2231) : error C2375: 'WSAUnhookBlockingHook' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(880) : see declaration of 'WSAUnhookBlockingHook'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2248) : error C2375: 'WSASetBlockingHook' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(882) : see declaration of 'WSASetBlockingHook'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2265) : error C2375: 'WSACancelBlockingCall' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(884) : see declaration of 'WSACancelBlockingCall'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2287) : error C2375: 'WSAAsyncGetServByName' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(886) : see declaration of 'WSAAsyncGetServByName'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2314) : error C2375: 'WSAAsyncGetServByPort' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(894) : see declaration of 'WSAAsyncGetServByPort'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2340) : error C2375: 'WSAAsyncGetProtoByName' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(902) : see declaration of 'WSAAsyncGetProtoByName'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2365) : error C2375: 'WSAAsyncGetProtoByNumber' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(909) : see declaration of 'WSAAsyncGetProtoByNumber'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2390) : error C2375: 'WSAAsyncGetHostByName' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(916) : see declaration of 'WSAAsyncGetHostByName'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2417) : error C2375: 'WSAAsyncGetHostByAddr' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(923) : see declaration of 'WSAAsyncGetHostByAddr'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2440) : error C2375: 'WSACancelAsyncRequest' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(932) : see declaration of 'WSACancelAsyncRequest'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(2461) : error C2375: 'WSAAsyncSelect' : redefinition; different linkage
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(934) : see declaration of 'WSAAsyncSelect'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(3910) : error C2059: syntax error : '}'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(3910) : error C2143: syntax error : missing ';' before '}'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\WinSock2.h(3910) : error C2059: syntax error : '}'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(39) : error C2143: syntax error : missing ';' before '{'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(39) : error C2447: '{' : missing function header (old-style formal list?)
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(119) : warning C4005: 'IP_TOS' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(352) : see previous definition of 'IP_TOS'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(120) : warning C4005: 'IP_TTL' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(351) : see previous definition of 'IP_TTL'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(121) : warning C4005: 'IP_MULTICAST_IF' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(346) : see previous definition of 'IP_MULTICAST_IF'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(122) : warning C4005: 'IP_MULTICAST_TTL' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(347) : see previous definition of 'IP_MULTICAST_TTL'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(123) : warning C4005: 'IP_MULTICAST_LOOP' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(348) : see previous definition of 'IP_MULTICAST_LOOP'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(124) : warning C4005: 'IP_ADD_MEMBERSHIP' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(349) : see previous definition of 'IP_ADD_MEMBERSHIP'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(125) : warning C4005: 'IP_DROP_MEMBERSHIP' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(350) : see previous definition of 'IP_DROP_MEMBERSHIP'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2ipdef.h(126) : warning C4005: 'IP_DONTFRAGMENT' : macro redefinition
1>        C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winsock.h(353) : see previous definition of 'IP_DONTFRAGMENT'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(750) : error C2061: syntax error : identifier 'MULTICAST_MODE_TYPE'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(757) : error C2065: 'PIP_MSFILTER' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(757) : error C2146: syntax error : missing ';' before identifier 'Filter'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(757) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(759) : error C2065: 'SourceCount' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(760) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(760) : error C2070: ''unknown-type'': illegal sizeof operand
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(760) : error C2065: 'SourceList' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(760) : error C2070: ''unknown-type'': illegal sizeof operand
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(761) : error C3861: 'WSASetLastError': identifier not found
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(765) : error C2065: 'IP_MSFILTER' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(765) : error C2070: ''unknown-type'': illegal sizeof operand
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(765) : error C2065: 'SourceCount' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(766) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(766) : error C2065: 'PIP_MSFILTER' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(766) : error C2146: syntax error : missing ';' before identifier 'HeapAlloc'
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(767) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(768) : error C3861: 'WSASetLastError': identifier not found
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(772) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(772) : error C2227: left of '->imsf_multiaddr' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(773) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(773) : error C2227: left of '->imsf_interface' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(774) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(774) : error C2227: left of '->imsf_fmode' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(774) : error C2065: 'FilterMode' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(775) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(775) : error C2227: left of '->imsf_numsrc' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(775) : error C2065: 'SourceCount' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(776) : error C2065: 'SourceCount' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(778) : error C2065: 'Filter' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(778) : error C2227: left of '->imsf_slist' must point to class/struct/union/generic type
1>        type is ''unknown-type''
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(778) : error C2065: 'SourceList' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(778) : error C2065: 'SourceCount' : undeclared identifier
1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(778) : error C2065: 'SourceList' : undeclared identifier

1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\ws2tcpip.h(778) : error C2070: ''unknown-type'': illegal sizeof operand

解决:

winsock.h已经包含在windows.h就可以了,引用了winsock2.h文件了就会造成重复定义的错误,不过可以通过在#include <windows.h> 前面定义一个宏,禁止windows.h饱含winsock.h 
#define   _WINSOCKAPI_   //   禁止windows.h包含winsock.h

# Question ziheng@ziheng-virtual-machine:/usr/src/linux-6.6.1$ sudo make menuconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/kconfig/mconf.o In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:13:9: error: unknown type name ‘u32’ 13 | typedef u32 __kernel_dev_t; | ^~~ /usr/include/linux/types.h:20:9: error: unknown type name ‘u3220 | typedef u32 nlink_t; | ^~~ /usr/include/linux/types.h:93:9: error: unknown type name ‘u8’ 93 | typedef u8 u_int8_t; | ^~ /usr/include/linux/types.h:94:9: error: unknown type name ‘s8’ 94 | typedef s8 int8_t; | ^~ /usr/include/linux/types.h:95:9: error: unknown type name ‘u16’ 95 | typedef u16 u_int16_t; | ^~~ /usr/include/linux/types.h:96:9: error: unknown type name ‘s16’ 96 | typedef s16 int16_t; | ^~~ /usr/include/linux/types.h:97:9: error: unknown type name ‘u32’ 97 | typedef u32 u_int32_t; | ^~~ /usr/include/linux/types.h:98:9: error: unknown type name ‘s32’ 98 | typedef s32 int32_t; | ^~~ /usr/include/linux/types.h:102:9: error: unknown type name ‘u8’ 102 | typedef u8 uint8_t; | ^~ /usr/include/linux/types.h:103:9: error: unknown type name ‘u16’ 103 | typedef u16 uint16_t; | ^~~ /usr/include/linux/types.h:104:9: error: unknown type name ‘u32’ 104 | typedef u32 uint32_t; | ^~~ /usr/include/linux/types.h:107:9: error: unknown type name ‘u64’ 107 | typedef u64 uint64_t; | ^~~ /usr/include/linux/types.h:108:9: error: unknown type name ‘u64’ 108 | typedef u64 u_int64_t; | ^~~ /usr/include/linux/types.h:109:9: error: unknown type name ‘s64’ 109 | typedef s64 int64_t; | ^~~ /usr/include/linux/types.h:125:9: error: unknown type name ‘u64’ 125 | typedef u64 sector_t; | ^~~ /usr/include/linux/types.h:126:9: error: unknown type name ‘u64’ 126 | typedef u64 blkcnt_t; | ^~~ /usr/include/linux/types.h:145:9: error: unknown type name ‘u32’ 145 | typedef u32 dma_addr_t; | ^~~ /usr/include/linux/types.h:155:9: error: unknown type name ‘u32’ 155 | typedef u32 phys_addr_t; | ^~~ In file included from /usr/include/linux/limits.h:7, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/x86_64-linux-gnu/bits/xopen_lim.h:99:6: error: missing binary operator before token "(" 99 | # if INT_MAX == 32767 | ^~~~~~~ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h:102:7: error: missing binary operator before token "(" 102 | # if INT_MAX == 2147483647 | ^~~~~~~ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h:126:6: error: missing binary operator before token "(" 126 | # if LONG_MAX == 2147483647 | ^~~~~~~~ In file included from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/types.h:42:18: error: conflicting types for ‘loff_t’; have ‘__loff_t’ {aka ‘long int’} 42 | typedef __loff_t loff_t; | ^~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:46:33: note: previous declaration of ‘loff_t’ with type ‘loff_t’ {aka ‘long long int’} 46 | typedef __kernel_loff_t loff_t; | ^~~~~~ In file included from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/types.h:59:17: error: conflicting types for ‘dev_t’; have ‘__dev_t’ {aka ‘long unsigned int’} 59 | typedef __dev_t dev_t; | ^~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:16:33: note: previous declaration of ‘dev_t’ with type ‘dev_t’ {aka ‘int’} 16 | typedef __kernel_dev_t dev_t; | ^~~~~ In file included from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/types.h:74:19: error: conflicting types for ‘nlink_t’; have ‘__nlink_t’ {aka ‘long unsigned int’} 74 | typedef __nlink_t nlink_t; | ^~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:20:33: note: previous declaration of ‘nlink_t’ with type ‘nlink_t’ {aka ‘int’} 20 | typedef u32 nlink_t; | ^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/sys/types.h:130, from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/bits/types/timer_t.h:7:19: error: conflicting types for ‘timer_t’; have ‘__timer_t’ {aka ‘void *’} 7 | typedef __timer_t timer_t; | ^~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:26:33: note: previous declaration of ‘timer_t’ with type ‘timer_t’ {aka ‘int’} 26 | typedef __kernel_timer_t timer_t; | ^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/sys/types.h:155, from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/bits/stdint-intn.h:24:18: error: conflicting types for ‘int8_t’; have ‘__int8_t’ {aka ‘signed char’} 24 | typedef __int8_t int8_t; | ^~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:94:33: note: previous declaration of ‘int8_t’ with type ‘int8_t’ {aka ‘int’} 94 | typedef s8 int8_t; | ^~~~~~ In file included from /usr/include/x86_64-linux-gnu/sys/types.h:155, from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/bits/stdint-intn.h:25:19: error: conflicting types for ‘int16_t’; have ‘__int16_t’ {aka ‘short int’} 25 | typedef __int16_t int16_t; | ^~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:96:33: note: previous declaration of ‘int16_t’ with type ‘int16_t’ {aka ‘int’} 96 | typedef s16 int16_t; | ^~~~~~~ In file included from /usr/include/x86_64-linux-gnu/sys/types.h:155, from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/bits/stdint-intn.h:27:19: error: conflicting types for ‘int64_t’; have ‘__int64_t’ {aka ‘long int’} 27 | typedef __int64_t int64_t; | ^~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:109:33: note: previous declaration of ‘int64_t’ with type ‘int64_t’ {aka ‘int’} 109 | typedef s64 int64_t; | ^~~~~~~ In file included from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/types.h:158:19: error: conflicting types for ‘u_int8_t’; have ‘__uint8_t’ {aka ‘unsigned char’} 158 | typedef __uint8_t u_int8_t; | ^~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:93:33: note: previous declaration of ‘u_int8_t’ with type ‘u_int8_t’ {aka ‘int’} 93 | typedef u8 u_int8_t; | ^~~~~~~~ In file included from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/types.h:159:20: error: conflicting types for ‘u_int16_t’; have ‘__uint16_t’ {aka ‘short unsigned int’} 159 | typedef __uint16_t u_int16_t; | ^~~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:95:33: note: previous declaration of ‘u_int16_t’ with type ‘u_int16_t’ {aka ‘int’} 95 | typedef u16 u_int16_t; | ^~~~~~~~~ In file included from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/types.h:160:20: error: conflicting types for ‘u_int32_t’; have ‘__uint32_t’ {aka ‘unsigned int’} 160 | typedef __uint32_t u_int32_t; | ^~~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:97:33: note: previous declaration of ‘u_int32_t’ with type ‘u_int32_t’ {aka ‘int’} 97 | typedef u32 u_int32_t; | ^~~~~~~~~ In file included from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/types.h:161:20: error: conflicting types for ‘u_int64_t’; have ‘__uint64_t’ {aka ‘long unsigned int’} 161 | typedef __uint64_t u_int64_t; | ^~~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:108:33: note: previous declaration of ‘u_int64_t’ with type ‘u_int64_t’ {aka ‘int’} 108 | typedef u64 u_int64_t; | ^~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/sys/types.h:179, from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/select.h:70:5: error: conflicting types for ‘fd_set’; have ‘struct <anonymous>’ 70 | } fd_set; | ^~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:15:33: note: previous declaration of ‘fd_set’ with type ‘fd_set’ 15 | typedef __kernel_fd_set fd_set; | ^~~~~~ In file included from /usr/include/stdlib.h:395, from scripts/kconfig/mconf.c:16: /usr/include/x86_64-linux-gnu/sys/types.h:192:20: error: conflicting types for ‘blkcnt_t’; have ‘__blkcnt_t’ {aka ‘long int’} 192 | typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks. */ | ^~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:126:13: note: previous declaration of ‘blkcnt_t’ with type ‘blkcnt_t’ {aka ‘int’} 126 | typedef u64 blkcnt_t; | ^~~~~~~~ In file included from scripts/kconfig/expr.h:15, from scripts/kconfig/lkc.h:13, from scripts/kconfig/mconf.c:22: scripts/kconfig/list.h:24:8: error: redefinition of ‘struct list_head’ 24 | struct list_head { | ^~~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:178:8: note: originally defined here 178 | struct list_head { | ^~~~~~~~~ In file included from /usr/include/stdint.h:37, from /usr/lib/gcc/x86_64-linux-gnu/11/include/stdint.h:9, from /usr/include/curses.h:95, from scripts/kconfig/lxdialog/dialog.h:19, from scripts/kconfig/mconf.c:23: /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:24:19: error: conflicting types for ‘uint8_t’; have ‘__uint8_t’ {aka ‘unsigned char’} 24 | typedef __uint8_t uint8_t; | ^~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:102:33: note: previous declaration of ‘uint8_t’ with type ‘uint8_t’ {aka ‘int’} 102 | typedef u8 uint8_t; | ^~~~~~~ In file included from /usr/include/stdint.h:37, from /usr/lib/gcc/x86_64-linux-gnu/11/include/stdint.h:9, from /usr/include/curses.h:95, from scripts/kconfig/lxdialog/dialog.h:19, from scripts/kconfig/mconf.c:23: /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:25:20: error: conflicting types for ‘uint16_t’; have ‘__uint16_t’ {aka ‘short unsigned int’} 25 | typedef __uint16_t uint16_t; | ^~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:103:33: note: previous declaration of ‘uint16_t’ with type ‘uint16_t’ {aka ‘int’} 103 | typedef u16 uint16_t; | ^~~~~~~~ In file included from /usr/include/stdint.h:37, from /usr/lib/gcc/x86_64-linux-gnu/11/include/stdint.h:9, from /usr/include/curses.h:95, from scripts/kconfig/lxdialog/dialog.h:19, from scripts/kconfig/mconf.c:23: /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:26:20: error: conflicting types for ‘uint32_t’; have ‘__uint32_t’ {aka ‘unsigned int’} 26 | typedef __uint32_t uint32_t; | ^~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:104:33: note: previous declaration of ‘uint32_t’ with type ‘uint32_t’ {aka ‘int’} 104 | typedef u32 uint32_t; | ^~~~~~~~ In file included from /usr/include/stdint.h:37, from /usr/lib/gcc/x86_64-linux-gnu/11/include/stdint.h:9, from /usr/include/curses.h:95, from scripts/kconfig/lxdialog/dialog.h:19, from scripts/kconfig/mconf.c:23: /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h:27:20: error: conflicting types for ‘uint64_t’; have ‘__uint64_t’ {aka ‘long unsigned int’} 27 | typedef __uint64_t uint64_t; | ^~~~~~~~ In file included from /usr/include/linux/limits.h:6, from /usr/include/x86_64-linux-gnu/bits/local_lim.h:38, from /usr/include/x86_64-linux-gnu/bits/posix1_lim.h:161, from /usr/include/limits.h:195, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:203, from /usr/lib/gcc/x86_64-linux-gnu/11/include/syslimits.h:7, from /usr/lib/gcc/x86_64-linux-gnu/11/include/limits.h:34, from scripts/kconfig/mconf.c:14: /usr/include/linux/types.h:107:33: note: previous declaration of ‘uint64_t’ with type ‘uint64_t’ {aka ‘int’} 107 | typedef u64 uint64_t; | ^~~~~~~~ make[2]: *** [scripts/Makefile.host:131:scripts/kconfig/mconf.o] 错误 1 make[1]: *** [/usr/src/linux-6.6.1/Makefile:697:menuconfig] 错误 2 make: *** [Makefile:234:__sub-make] 错误 2
最新发布
08-09
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值