Hey, we also found the same issue last year, the solution was to un-define use and re-define https://code.qt.io/cgit/qt-creator/plugin-pythonextensions.git/tree/docs/plu... Here you have the code example of the workaround: https://code.qt.io/cgit/qt-creator/plugin-pythonextensions.git/tree/plugins/... Cheers On 10/22/19 5:11 AM, Kacvinsky, Tom wrote:
Today I discovered the this struct
typedef struct{ const char* name; int basicsize; int itemsize; unsigned int flags; PyType_Slot *slots; /* terminated by slot==0. */ } PyType_Spec;
with "PyTypeSlot *slots" being on line 190 of object.h causes a problem when compiled with code that brings in Qt. Qt has macro definitions of slots.
With a cursory preprocessing of the file I was working with, using the handy gcc options -dM -E, I found that slots was defined to nothing
#define slots
and hence caused problems when object.h was brought into the mix.
I will try to make a simple reproducer tomorrow. I know this probably could be solved by header file inclusion re-ordering, or in some cases #undef'ing slots before including Python.h, but I also thought the Python dev team would like to know about this issue.
Tom _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/5VRZVIMF... Code of Conduct: http://python.org/psf/codeofconduct/
-- Dr. Cristián Maureira-Fredes https://maureira.xyz