Author wrohdewald
Recipients wrohdewald
Date 2011-03-30.00:11:04
SpamBayes Score 0.000939026
Marked as misclassified No
Message-id <1301443864.94.0.799403342642.issue11717@psf.upfronthosting.co.za>
In-reply-to
Content
compiling pykde on windows with msvc2010 on a 32bit Windows 7:

sipdnssdpart0.cpp
R:\include\msvc\sys/types.h(52) : error C2371: 'ssize_t' : redefinition; different basic types
        c:\python27\include\pyconfig.h(201) : see declaration of 'ssize_t'

I can fix this by defining ssize_t as long in pyconfig.h or 
as int in kdewin/include/msvc/sys/types.h

the original files from windows define SSIZE_T as long so to
me this seems like a bug in pyconfig.h, it should say
typedef _W64 long ssize_t


Python27\include\pyconfig.h says (same in Python32):

#ifdef MS_WIN64
typedef __int64 ssize_t;
#else
typedef _W64 int ssize_t;
#endif

while kdewin/include/msvc/sys/types.h says:

typedef SSIZE_T ssize_t;

SSIZE_T is defined in Microsoft SDKs/Windows/v7.0A/Include/BaseTsd.h:

typedef LONG_PTR SSIZE_T, *PSSIZE_T;

and LONG_PTR from same directory, intsafe.h:
#if (__midl > 501)
typedef [public]          __int3264 LONG_PTR;
#else
#ifdef _WIN64
typedef __int64             LONG_PTR;
#else
typedef _W64 long           LONG_PTR;
#endif // WIN64
#endif // (__midl > 501)

for __midl see
http://msdn.microsoft.com/en-us/library/aa367301(v=vs.85).aspx
History
Date User Action Args
2011-03-30 00:11:04wrohdewaldsetrecipients: + wrohdewald
2011-03-30 00:11:04wrohdewaldsetmessageid: <1301443864.94.0.799403342642.issue11717@psf.upfronthosting.co.za>
2011-03-30 00:11:04wrohdewaldlinkissue11717 messages
2011-03-30 00:11:04wrohdewaldcreate