-
Bug
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
6.9.1
-
None
I am trying to generate a Python interface for the MapLibre Native Qt project. The whole experience is very dissatisfactory.
<typesystem package="pyqmaplibre"> <load-typesystem name="typesystem_openglwidgets.xml"/> <namespace-type name="QMapLibre"> <object-type name="GLWidget"> <include file-name="gl_widget.hpp" location="global"/> </object-type> </namespace-type> </typesystem>
With the above simplified structure the following happens:
[100%] Building CXX object bindings/CMakeFiles/pyqmaplibre.dir/generated/pyqmaplibre/pyqmaplibre_module_wrapper.cpp.o In file included from /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_module_wrapper.cpp:21: /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_python.h: In function ‘PyTypeObject* Shiboken::SbkType() [with T = QOpenGLWidget::UpdateBehavior; PyTypeObject = _typeobject]’: /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_python.h:106:109: error: ‘SbkPySide6_QtOpenGLWidgetsTypeStructs’ was not declared in this scope; did you mean ‘SbkPySide6_QtWidgetsTypeStructs’? 106 | template<> inline PyTypeObject *SbkType< ::QOpenGLWidget::UpdateBehavior >() { return Shiboken::Module::get(SbkPySide6_QtOpenGLWidgetsTypeStructs[SBK_QOpenGLWidget_UpdateBehavior_IDX]); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SbkPySide6_QtWidgetsTypeStructs /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_python.h: In function ‘PyTypeObject* Shiboken::SbkType() [with T = QOpenGLWidget::TargetBuffer; PyTypeObject = _typeobject]’: /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_python.h:107:107: error: ‘SbkPySide6_QtOpenGLWidgetsTypeStructs’ was not declared in this scope; did you mean ‘SbkPySide6_QtWidgetsTypeStructs’? 107 | template<> inline PyTypeObject *SbkType< ::QOpenGLWidget::TargetBuffer >() { return Shiboken::Module::get(SbkPySide6_QtOpenGLWidgetsTypeStructs[SBK_QOpenGLWidget_TargetBuffer_IDX]); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SbkPySide6_QtWidgetsTypeStructs /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_python.h: In function ‘PyTypeObject* Shiboken::SbkType() [with T = QOpenGLWidget; PyTypeObject = _typeobject]’: /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_python.h:108:93: error: ‘SbkPySide6_QtOpenGLWidgetsTypeStructs’ was not declared in this scope; did you mean ‘SbkPySide6_QtWidgetsTypeStructs’? 108 | template<> inline PyTypeObject *SbkType< ::QOpenGLWidget >() { return Shiboken::Module::get(SbkPySide6_QtOpenGLWidgetsTypeStructs[SBK_QOpenGLWidget_IDX]); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SbkPySide6_QtWidgetsTypeStructs /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_module_wrapper.cpp: In function ‘void initInheritance()’: /home/skinkie/Sources/pyside-maplibre-native-qt2/build/bindings/generated/pyqmaplibre/pyqmaplibre_module_wrapper.cpp:450:29: error: ‘SbkPySide6_QtOpenGLWidgetsTypeStructs’ was not declared in this scope; did you mean ‘SbkPySide6_QtWidgetsTypeStructs’? 450 | &SbkPySide6_QtOpenGLWidgetsTypeStructs[SBK_QOpenGLWidget_IDX]); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | SbkPySide6_QtWidgetsTypeStructs
Now this "missing" declaration is defined in PySide6/QtOpenGLWidgets/pyside6_qtopenglwidgets_python.h, but is not being included.