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@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-Na... ) there is only one 64 bit calling convention and therefor no underscore
Hope this is correct ;) , Dorian