You need to make sure to #include <winsock2.h> or "socketft.h" before any .h file that includes <windows.h>.
On Tue, Feb 04, 2003 at 02:46:47PM +0530, vishal wrote: > Hi , > I am trying to use crypto ++ library in MFC. I did the following.... > 1. Compiled the Crypto test downloaded from Crypto++ home page. > 2. In my MFC project I added CryptoLib project, and made my project dependent on it. > 3. after compiling I get these errors !!! > > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(100) : error C2011: > 'fd_set' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(135) : warning > C4005: 'FD_SET' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(83) : see > previous definition of 'FD_SET' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(144) : error C2011: > 'timeval' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(200) : error C2011: > 'hostent' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(213) : error C2011: > 'netent' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(220) : error C2011: > 'servent' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(227) : error C2011: > 'protoent' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(311) : error C2011: > 'in_addr' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(369) : error C2011: > 'sockaddr_in' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(379) : error C2011: > 'WSAData' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(431) : warning > C4005: 'SO_DONTLINGER' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(391) : see > previous definition of 'SO_DONTLINGER' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(484) : warning > C4005: 'AF_IPX' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(449) : see > previous definition of 'AF_IPX' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(507) : warning > C4005: 'AF_MAX' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(468) : see > previous definition of 'AF_MAX' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(513) : error C2011: > 'sockaddr' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(522) : error C2011: > 'sockproto' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(561) : error C2011: > 'linger' : 'struct' type redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(574) : warning > C4005: 'SOMAXCONN' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(533) : see > previous definition of 'SOMAXCONN' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(599) : warning > C4005: 'FD_READ' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(551) : see > previous definition of 'FD_READ' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(602) : warning > C4005: 'FD_WRITE' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(552) : see > previous definition of 'FD_WRITE' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(605) : warning > C4005: 'FD_OOB' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(553) : see > previous definition of 'FD_OOB' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(608) : warning > C4005: 'FD_ACCEPT' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(554) : see > previous definition of 'FD_ACCEPT' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(611) : warning > C4005: 'FD_CONNECT' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(555) : see > previous definition of 'FD_CONNECT' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(614) : warning > C4005: 'FD_CLOSE' : macro redefinition > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(556) : see > previous definition of 'FD_CLOSE' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1428) : error > C2375: 'accept' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(707) : see > declaration of 'accept' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1449) : error > C2375: 'bind' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(710) : see > declaration of 'bind' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1468) : error > C2375: 'closesocket' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(712) : see > declaration of 'closesocket' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1487) : error > C2375: 'connect' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(714) : see > declaration of 'connect' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1508) : error > C2375: 'ioctlsocket' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(716) : see > declaration of 'ioctlsocket' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1529) : error > C2375: 'getpeername' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(718) : see > declaration of 'getpeername' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1550) : error > C2375: 'getsockname' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(721) : see > declaration of 'getsockname' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1573) : error > C2375: 'getsockopt' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(724) : see > declaration of 'getsockopt' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1594) : error > C2375: 'htonl' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(727) : see > declaration of 'htonl' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1611) : error > C2375: 'htons' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(729) : see > declaration of 'htons' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1628) : error > C2375: 'inet_addr' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(731) : see > declaration of 'inet_addr' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1645) : error > C2375: 'inet_ntoa' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(733) : see > declaration of 'inet_ntoa' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1663) : error > C2375: 'listen' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(735) : see > declaration of 'listen' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1681) : error > C2375: 'ntohl' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(737) : see > declaration of 'ntohl' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1698) : error > C2375: 'ntohs' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(739) : see > declaration of 'ntohs' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1718) : error > C2375: 'recv' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(741) : see > declaration of 'recv' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1743) : error > C2375: 'recvfrom' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(743) : see > declaration of 'recvfrom' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1769) : error > C2375: 'select' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(746) : see > declaration of 'select' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1793) : error > C2375: 'send' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(749) : see > declaration of 'send' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1818) : error > C2375: 'sendto' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(751) : see > declaration of 'sendto' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1844) : error > C2375: 'setsockopt' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(754) : see > declaration of 'setsockopt' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1866) : error > C2375: 'shutdown' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(757) : see > declaration of 'shutdown' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1886) : error > C2375: 'socket' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(759) : see > declaration of 'socket' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1909) : error > C2375: 'gethostbyaddr' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(763) : see > declaration of 'gethostbyaddr' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1928) : error > C2375: 'gethostbyname' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(766) : see > declaration of 'gethostbyname' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1946) : error > C2375: 'gethostname' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(768) : see > declaration of 'gethostname' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1965) : error > C2375: 'getservbyport' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(770) : see > declaration of 'getservbyport' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(1984) : error > C2375: 'getservbyname' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(772) : see > declaration of 'getservbyname' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2002) : error > C2375: 'getprotobynumber' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(775) : see > declaration of 'getprotobynumber' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2019) : error > C2375: 'getprotobyname' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(777) : see > declaration of 'getprotobyname' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2039) : error > C2375: 'WSAStartup' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(781) : see > declaration of 'WSAStartup' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2057) : error > C2375: 'WSACleanup' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(783) : see > declaration of 'WSACleanup' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2074) : error > C2375: 'WSASetLastError' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(785) : see > declaration of 'WSASetLastError' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2091) : error > C2375: 'WSAGetLastError' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(787) : see > declaration of 'WSAGetLastError' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2108) : error > C2375: 'WSAIsBlocking' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(789) : see > declaration of 'WSAIsBlocking' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2125) : error > C2375: 'WSAUnhookBlockingHook' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(791) : see > declaration of 'WSAUnhookBlockingHook' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2142) : error > C2375: 'WSASetBlockingHook' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(793) : see > declaration of 'WSASetBlockingHook' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2159) : error > C2375: 'WSACancelBlockingCall' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(795) : see > declaration of 'WSACancelBlockingCall' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2181) : error > C2375: 'WSAAsyncGetServByName' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(797) : see > declaration of 'WSAAsyncGetServByName' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2208) : error > C2375: 'WSAAsyncGetServByPort' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(802) : see > declaration of 'WSAAsyncGetServByPort' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2234) : error > C2375: 'WSAAsyncGetProtoByName' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(806) : see > declaration of 'WSAAsyncGetProtoByName' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2259) : error > C2375: 'WSAAsyncGetProtoByNumber' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(810) : see > declaration of 'WSAAsyncGetProtoByNumber' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2284) : error > C2375: 'WSAAsyncGetHostByName' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(814) : see > declaration of 'WSAAsyncGetHostByName' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2311) : error > C2375: 'WSAAsyncGetHostByAddr' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(818) : see > declaration of 'WSAAsyncGetHostByAddr' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2334) : error > C2375: 'WSACancelAsyncRequest' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(822) : see > declaration of 'WSACancelAsyncRequest' > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock2.h(2354) : error > C2375: 'WSAAsyncSelect' : redefinition; different linkage > D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\winsock.h(824) : see > declaration of 'WSAAsyncSelect' > > > What wrong did I do ??? > > Regards, > Vishal.
