[PyKDE] quitting eric segfault on x86_64

Hans-Peter Jansen hpj at urpla.net
Tue Mar 16 19:46:00 GMT 2004


On Tuesday 16 March 2004 19:04, Phil Thompson wrote:
> On Tuesday 16 March 2004 18:00, Phil Thompson wrote:
> >
> > PyQt assumes Q_LONG is a long (rather than a long long). You
> > could try changing the typedefs in qglobal.sip and re-building.
>
> Ignore the last sentence - forgot to engage brain before typing.
> SIP doesn't support long longs so changing the typedef won't help
> very much. (You would have to hack the generated code.)
>
> How does Qt define Q_LONG etc on x86_64?

Here are relevant typedefs from qglobal.h:

#if defined(Q_OS_WIN64)
typedef __int64                 Q_LONG;         // word up to 64 bit signed
typedef unsigned __int64        Q_ULONG;        // word up to 64 bit unsigned
#else
typedef long                    Q_LONG;         // word up to 64 bit signed
typedef unsigned long           Q_ULONG;        // word up to 64 bit unsigned
#endif
#if defined(Q_OS_WIN) && !defined(Q_CC_GNU)
#  define Q_INT64_C(c)          c ## i64        // signed 64 bit constant
#  define Q_UINT64_C(c)         c ## ui64       // unsigned 64 bit constant
typedef __int64                 Q_INT64;        // 64 bit signed
typedef unsigned __int64        Q_UINT64;       // 64 bit unsigned
#else
#  define Q_INT64_C(c)          c ## LL         // signed 64 bit constant
#  define Q_UINT64_C(c)         c ## ULL        // unsigned 64 bit constant
typedef long long               Q_INT64;        // 64 bit signed
typedef unsigned long long      Q_UINT64;       // 64 bit unsigned
#endif
typedef Q_INT64                 Q_LLONG;        // signed long long
typedef Q_UINT64                Q_ULLONG;       // unsigned long long

Hmm, looks like Q_LONG ist defined as long. 
Does Qt define types somewhere else?

Pete




More information about the PyQt mailing list