[PyQt] Expat bug in pyqtdeploy/metadata/python_metadata.py
Patrick Stinson
patrickkidd at gmail.com
Sun Nov 4 19:53:20 GMT 2018
It looks like "expat/loadlibrary.c” needs to be added to the expat library sources in python_metadata.py for windows. I edited it like so:
'pyexpat':
ExtensionModule(internal=True,
source=('expat/xmlparse.c', 'expat/xmlrole.c',
'expat/xmltok.c', 'win#expat/loadlibrary.c', 'pyexpat.c'),
defines=('XML_STATIC', 'win#COMPILED_FROM_DSP',
'!win#HAVE_EXPAT_CONFIG_H', '!win#XML_DEV_URANDOM'),
includepath='expat',
pyd='pyexpat.pyd'),
Further, I had to #include <Python.h> at the top of loadlibrary.c to prevent the same compile error I was getting if including Qt headers:
1>c:\program files\windows kits\10\include\10.0.17134.0\um\prsht.h(609): error C3646: 'hdr': unknown override specifier
1>c:\program files\windows kits\10\include\10.0.17134.0\um\prsht.h(609): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
I fixed this for the rest of the project by adding a precompiled header in the QMAKE tab in pyqtdeploy with this in it:
#include <Python.h>
#if defined __cplusplus
#include <QtCore>
#include <QtGui>
#include <QtPurchasing>
#endif // __cplusplus
But this only adds a PCH for .cpp files and not loadlibrary.c, so I’m not sure how to work around this in the long run.
Thoughts?
-Patrick
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20181104/f5a3aeba/attachment.html>
More information about the PyQt
mailing list