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/plugin.md#n137

Here you have the code example of the workaround:
https://code.qt.io/cgit/qt-creator/plugin-pythonextensions.git/tree/plugins/pythonextensions/pyutil.cpp#n40

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-le...@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/5VRZVIMFB5OMX7SVQCXCH7FT5MCTN26J/
Code of Conduct: http://python.org/psf/codeofconduct/


--
Dr. Cristián Maureira-Fredes
https://maureira.xyz
_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@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/476YAEYUY7GLQS3LNGRJ3DVLZVKWH26H/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to