Thread: Compiling psqlODBC on Windows with MS VC++ 2005 Express
With the latest psqlODBC 09.02.0100 prep, I have to make one change to compile using MS VC++ 2005 Express (32-bit version of drivers): In psqlodbc.h (my addition in bold) /* File: psqlodbc.h * * Description: This file contains defines and declarations that are related to * the entire driver. * * Comments: See "readme.txt" for copyright and license information. */ #ifndef __PSQLODBC_H__ #define __PSQLODBC_H__ /* #define __MS_REPORTS_ANSI_CHAR__ */ #ifndef WIN32 #include "config.h" #else #define WIN32_LEAN_AND_MEAN #include <windows.h> *#if (_MSC_VER == 1400) /* in case of VC++ 2005 */ #include <winsock2.h> #endif /* _MSC_VER == 1400 */* #endif For a detailed discussion of why we need winsock2.h see: http://stackoverflow.com/questions/1372480/c-redefinition-header-files <http://stackoverflow.com/questions/1372480/c-redefinition-header-files> I'm curious what build environment is currently being used--is there something I can change on my end to not have to edit psqlodbc.h, or can we add the above to psqlodbc.h to fix it for MS VC++ 2005 Express? Also, could we change the docs\win32-compilation.html file to reference 9.2 instead of 9.1? (And maybe fix the typo of "Valiable" to "Variable"?) Thanks...jack -- View this message in context: http://postgresql.1045698.n5.nabble.com/Compiling-psqlODBC-on-Windows-with-MS-VC-2005-Express-tp5756122.html Sent from the PostgreSQL - odbc mailing list archive at Nabble.com.
Looks like we have the same issue with MS VC++ 2012 Express, so if it doesn't break anything we need in psqlodbc.h ">=" instead of "==" #ifndef WIN32 #include "config.h" #else #define WIN32_LEAN_AND_MEAN #include <windows.h> *#if (_MSC_VER >= 1400) /* in case of VC++ 2005 or higher */ #include <winsock2.h> #endif /* _MSC_VER >= 1400 */* #endif ...jack -- View this message in context: http://postgresql.1045698.n5.nabble.com/Compiling-psqlODBC-on-Windows-with-MS-VC-2005-Express-tp5756122p5756139.html Sent from the PostgreSQL - odbc mailing list archive at Nabble.com.
Hi Jack, (2013/05/19 22:23), ljwilson wrote: > With the latest psqlODBC 09.02.0100 prep, I have to make one change to > compile using MS VC++ 2005 Express (32-bit version of drivers): Does some errors occur at socket.c? regards, Hiroshi Inoue
Yes, without using the #include <winsock2.h> fix: socket.c C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(460) : see previous definition of 'AF_IPX' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(131) : warning C4005: 'AF_MAX' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(479) : see previous definition of 'AF_MAX' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(168) : warning C4005: 'SO_DONTLINGER' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(402) : see previous definition of 'SO_DONTLINGER' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(212) : error C2011: 'sockaddr' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(485) : see declaration of 'sockaddr' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(390) : error C2059: syntax error : 'constant' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(524) : warning C4005: 'IN_CLASSA' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(287) : see previous definition of 'IN_CLASSA' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(530) : warning C4005: 'IN_CLASSB' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(293) : see previous definition of 'IN_CLASSB' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(536) : warning C4005: 'IN_CLASSC' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(299) : see previous definition of 'IN_CLASSC' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(547) : warning C4005: 'INADDR_ANY' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(304) : see previous definition of 'INADDR_ANY' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(549) : warning C4005: 'INADDR_BROADCAST' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(306) : see previous definition of 'INADDR_BROADCAST' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2def.h(583) : error C2011: 'sockaddr_in' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(312) : see declaration of 'sockaddr_in' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(132) : error C2011: 'fd_set' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(68) : see declaration of 'fd_set' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(167) : warning C4005: 'FD_SET' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(102) : see previous definition of 'FD_SET' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(176) : error C2011: 'timeval' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(111) : see declaration of 'timeval' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(232) : error C2011: 'hostent' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(167) : see declaration of 'hostent' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(245) : error C2011: 'netent' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(180) : see declaration of 'netent' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(252) : error C2011: 'servent' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(187) : see declaration of 'servent' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(264) : error C2011: 'protoent' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(199) : see declaration of 'protoent' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(360) : error C2011: 'WSAData' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(322) : see declaration of 'WSAData' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(458) : error C2011: 'sockproto' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(494) : see declaration of 'sockproto' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(500) : error C2011: 'linger' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(531) : see declaration of 'linger' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(513) : warning C4005: 'SOMAXCONN' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(544) : see previous definition of 'SOMAXCONN' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(542) : warning C4005: 'FD_READ' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(562) : see previous definition of 'FD_READ' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(545) : warning C4005: 'FD_WRITE' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(563) : see previous definition of 'FD_WRITE' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(548) : warning C4005: 'FD_OOB' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(564) : see previous definition of 'FD_OOB' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(551) : warning C4005: 'FD_ACCEPT' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(565) : see previous definition of 'FD_ACCEPT' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(554) : warning C4005: 'FD_CONNECT' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(566) : see previous definition of 'FD_CONNECT' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(557) : warning C4005: 'FD_CLOSE' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(567) : see previous definition of 'FD_CLOSE' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1578) : error C2375: 'accept' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(742) : see declaration of 'accept' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1600) : error C2375: 'bind' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(747) : see declaration of 'bind' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1619) : error C2375: 'closesocket' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(752) : see declaration of 'closesocket' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1638) : error C2375: 'connect' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(754) : see declaration of 'connect' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1659) : error C2375: 'ioctlsocket' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(759) : see declaration of 'ioctlsocket' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1680) : error C2375: 'getpeername' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(764) : see declaration of 'getpeername' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1701) : error C2375: 'getsockname' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(769) : see declaration of 'getsockname' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1724) : error C2375: 'getsockopt' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(774) : see declaration of 'getsockopt' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1745) : error C2375: 'htonl' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(781) : see declaration of 'htonl' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1762) : error C2375: 'htons' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(783) : see declaration of 'htons' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1780) : error C2375: 'inet_addr' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(785) : see declaration of 'inet_addr' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1797) : error C2375: 'inet_ntoa' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(787) : see declaration of 'inet_ntoa' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1815) : error C2375: 'listen' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(789) : see declaration of 'listen' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1833) : error C2375: 'ntohl' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(793) : see declaration of 'ntohl' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1850) : error C2375: 'ntohs' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(795) : see declaration of 'ntohs' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1870) : error C2375: 'recv' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(797) : see declaration of 'recv' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1895) : error C2375: 'recvfrom' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(803) : see declaration of 'recvfrom' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1921) : error C2375: 'select' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(811) : see declaration of 'select' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1945) : error C2375: 'send' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(818) : see declaration of 'send' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1970) : error C2375: 'sendto' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(824) : see declaration of 'sendto' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(1996) : error C2375: 'setsockopt' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(832) : see declaration of 'setsockopt' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2018) : error C2375: 'shutdown' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(839) : see declaration of 'shutdown' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2039) : error C2375: 'socket' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(843) : see declaration of 'socket' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2063) : error C2375: 'gethostbyaddr' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(850) : see declaration of 'gethostbyaddr' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2083) : error C2375: 'gethostbyname' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(855) : see declaration of 'gethostbyname' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2101) : error C2375: 'gethostname' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(857) : see declaration of 'gethostname' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2121) : error C2375: 'getservbyport' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(861) : see declaration of 'getservbyport' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2141) : error C2375: 'getservbyname' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(865) : see declaration of 'getservbyname' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2160) : error C2375: 'getprotobynumber' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(869) : see declaration of 'getprotobynumber' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2178) : error C2375: 'getprotobyname' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(871) : see declaration of 'getprotobyname' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2200) : error C2375: 'WSAStartup' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(875) : see declaration of 'WSAStartup' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2219) : error C2375: 'WSACleanup' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(879) : see declaration of 'WSACleanup' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2236) : error C2375: 'WSASetLastError' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(881) : see declaration of 'WSASetLastError' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2253) : error C2375: 'WSAGetLastError' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(883) : see declaration of 'WSAGetLastError' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2270) : error C2375: 'WSAIsBlocking' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(885) : see declaration of 'WSAIsBlocking' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2287) : error C2375: 'WSAUnhookBlockingHook' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(887) : see declaration of 'WSAUnhookBlockingHook' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2304) : error C2375: 'WSASetBlockingHook' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(889) : see declaration of 'WSASetBlockingHook' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2321) : error C2375: 'WSACancelBlockingCall' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(891) : see declaration of 'WSACancelBlockingCall' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2343) : error C2375: 'WSAAsyncGetServByName' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(893) : see declaration of 'WSAAsyncGetServByName' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2370) : error C2375: 'WSAAsyncGetServByPort' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(901) : see declaration of 'WSAAsyncGetServByPort' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2396) : error C2375: 'WSAAsyncGetProtoByName' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(909) : see declaration of 'WSAAsyncGetProtoByName' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2421) : error C2375: 'WSAAsyncGetProtoByNumber' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(916) : see declaration of 'WSAAsyncGetProtoByNumber' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2446) : error C2375: 'WSAAsyncGetHostByName' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(923) : see declaration of 'WSAAsyncGetHostByName' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2473) : error C2375: 'WSAAsyncGetHostByAddr' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(930) : see declaration of 'WSAAsyncGetHostByAddr' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2496) : error C2375: 'WSACancelAsyncRequest' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(939) : see declaration of 'WSACancelAsyncRequest' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock2.h(2517) : error C2375: 'WSAAsyncSelect' : redefinition; different linkage C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(941) : see declaration of 'WSAAsyncSelect' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(119) : warning C4005: 'IP_TOS' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(352) : see previous definition of 'IP_TOS' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(120) : warning C4005: 'IP_TTL' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(351) : see previous definition of 'IP_TTL' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(121) : warning C4005: 'IP_MULTICAST_IF' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(346) : see previous definition of 'IP_MULTICAST_IF' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(122) : warning C4005: 'IP_MULTICAST_TTL' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(347) : see previous definition of 'IP_MULTICAST_TTL' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(123) : warning C4005: 'IP_MULTICAST_LOOP' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(348) : see previous definition of 'IP_MULTICAST_LOOP' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(124) : warning C4005: 'IP_ADD_MEMBERSHIP' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(349) : see previous definition of 'IP_ADD_MEMBERSHIP' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(125) : warning C4005: 'IP_DROP_MEMBERSHIP' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(350) : see previous definition of 'IP_DROP_MEMBERSHIP' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(126) : warning C4005: 'IP_DONTFRAGMENT' : macro redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(353) : see previous definition of 'IP_DONTFRAGMENT' C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\ws2ipdef.h(700) : error C2011: 'ip_mreq' : 'struct' type redefinition C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\include\winsock.h(363) : see declaration of 'ip_mreq' NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\cl.exe"' : return code '0x2' Stop. Thanks...jack -- View this message in context: http://postgresql.1045698.n5.nabble.com/Compiling-psqlODBC-on-Windows-with-MS-VC-2005-Express-tp5756122p5756204.html Sent from the PostgreSQL - odbc mailing list archive at Nabble.com.
(2013/05/21 0:13), ljwilson wrote: > Yes, without using the #include <winsock2.h> fix: Maybe the attached patch will fix the compilation errors. regards, Hiroshi Inoue > socket.c > C:\Program Files\Microsoft Visual Studio > 8\VC\PlatformSDK\include\ws2def.h(91) : warning C4005: 'AF_IPX' : macro > redefinition > C:\Program Files\Microsoft Visual Studio > 8\VC\PlatformSDK\include\winsock.h(460) : see previous definition of > 'AF_IPX' > C:\Program Files\Microsoft Visual Studio > 8\VC\PlatformSDK\include\ws2def.h(131) : warning C4005: 'AF_MAX' : macro > redefinition > C:\Program Files\Microsoft Visual Studio > 8\VC\PlatformSDK\include\winsock.h(479) : see previous definition of > 'AF_MAX' > C:\Program Files\Microsoft Visual Studio > 8\VC\PlatformSDK\include\ws2def.h(168) : warning C4005: 'SO_DONTLINGER' : > macro redefinition > C:\Program Files\Microsoft Visual Studio > 8\VC\PlatformSDK\include\winsock.h(402) : see previous definition of > 'SO_DONTLINGER' > C:\Program Files\Microsoft Visual Studio > 8\VC\PlatformSDK\include\ws2def.h(212) : error C2011: 'sockaddr' : 'struct' > type redefinition
Attachment
Hiroshi, socket_c.patch works! I can now compile psqlODBC 32-bit using MS VC++ 2005 Express with Microsoft Platform SDK without making any source changes. Thanks! ...jack -- View this message in context: http://postgresql.1045698.n5.nabble.com/Compiling-psqlODBC-on-Windows-with-MS-VC-2005-Express-tp5756122p5756213.html Sent from the PostgreSQL - odbc mailing list archive at Nabble.com.