[capi-sig] Differences between 32-bit and 64-bit python25.lib
Jesse Lehrman
jesse_lehrman at animationlab.com
Tue Jun 23 09:46:47 CEST 2009
Thanks - that's what I've started to figure out. That thread also supports my theory that I'll have to recompile Python using MiniGW.
Jesse
-----Original Message-----
From: capi-sig-bounces+jesse_lehrman=animationlab.com at python.org [mailto:capi-sig-bounces+jesse_lehrman=animationlab.com at python.org] On Behalf Of Dorian Krause
Sent: Monday, June 22, 2009 8:43 PM
Cc: capi-sig at python.org; cplusplus-sig at python.org
Subject: Re: [capi-sig] Differences between 32-bit and 64-bit python25.lib
Jesse Lehrman wrote:
> I'm trying to compile SIP/PyQT 4.5 for Windows Python 64-bit. I'm running into an error when attempting to link the SIP/PyQT object files against python25.lib. The errors are "can't find reference..." to symbols that should be in python25.lib. I tried using the 32-bit version of python25.lib and it worked. This led me to look at python25.lib using dumpbin.exe. I'm using the install binaries from www.python.org.
>
> It seems that most of the exports in the 32-bit version have a preceding underscore while in the 64-bit version they don't. For example:
>
> python25.lib 32-bit:
> _PyFloat_AsDouble
> _PyFloat_AsReprString
> _PyFloat_AsString
> _PyFloat_Fini
> _PyFloat_FromDouble
> _PyFloat_FromString
> _PyFloat_Type
>
> python25.lib 64-bit:
> PyFloat_AsDouble
> PyFloat_AsReprString
> PyFloat_AsString
> PyFloat_Fini
> PyFloat_FromDouble
> PyFloat_FromString
> PyFloat_Type
>
> Does anybody have an idea of why this is done and how I can get around it?
>
> Thank you,
>
> Jesse
>
>
> ________________________________
> Please consider the environment before printing this email.
> _______________________________________________
> capi-sig mailing list
> capi-sig at python.org
> http://mail.python.org/mailman/listinfo/capi-sig
>
>
(forgot to reply to the mailinglist)
This might be related to the calling convention?! 32 bit compiled,
_cdecl functions are get a prepended underscore, see
http://support.microsoft.com/kb/100832. As this thread (
http://www.dotnetmonster.com/Uwe/Forum.aspx/vs/6817/Missing-Underscore-in-Name-From-64-bit-Compiler
) there is only one 64 bit calling convention and therefor no underscore
Hope this is correct ;) ,
Dorian
_______________________________________________
capi-sig mailing list
capi-sig at python.org
http://mail.python.org/mailman/listinfo/capi-sig
That does seem to be the case. Any ideas of how to get around it
More information about the capi-sig
mailing list