[Zope-DB] compiling dco2.c with Oracle 10g using mingw on Windows XP - interesting errror

Maan M. Hamze mmhamze at pleiades.net
Wed Dec 5 19:32:14 EST 2007


I compiled dco2.c on Solaris 9 with Oracle 9i and Oracle 10g with no
problems.
On Windows XP, compiling dco2.c with Oracle9i is fine.

With Oracle 10g on Windows XP (using Mingw C compiler), I ran into following
errors:
#####################
In file included from C:/oracle/ora10/oci/include/oci.h:394,
                 from dco2.c:109:
C:/oracle/ora10/oci/include/oratypes.h:97: error: syntax error before
"oraub8"
C:/oracle/ora10/oci/include/oratypes.h:97: warning: data definition has no
type
or storage class
C:/oracle/ora10/oci/include/oratypes.h:98: error: syntax error before
"orasb8"
C:/oracle/ora10/oci/include/oratypes.h:98: warning: data definition has no
type
or storage class
C:/oracle/ora10/oci/include/oratypes.h:99: error: syntax error before "ub8"
C:/oracle/ora10/oci/include/oratypes.h:99: warning: data definition has no
type
or storage class
C:/oracle/ora10/oci/include/oratypes.h:100: error: syntax error before "sb8"
C:/oracle/ora10/oci/include/oratypes.h:100: warning: data definition has no
type
 or storage class
###################

Culprit is this, in oratypes.h:

#define ORAXB8_DEFINED
#ifndef lint
 typedef unsigned _int64 oraub8;
 typedef signed _int64 orasb8;
 typedef oraub8 ub8;
 typedef orasb8 sb8;
#else
# define ub8 oraub8
# define sb8 orasb8
# define oraub8 unsigned _int64
# define orasb8 signed _int64
#endif /* !lint */

---------------------------

_int64 ????????????????????

Changing this to __int64 solved the problem, and dco2.c compiled fine.

_int64 caused the problem in oratypes.h of Oracle10g.

Can this be fixed via some define in dco2.c so that I do not have to change
oratypes.h (_int64 to __int64)?

Thanks,
Maan





More information about the Zope-DB mailing list