21 July 2025
Stefan de Koninktext not yet in the index
I mean it generates bindings for a Qt based lib (QtADS) as CMake subproject
alexis jeandetI mean it generates bindings for a Qt based lib (QtADS) as CMake subproject
Indeed, uses a submodule, ads is a namespace etc.
I have changed the instructions to 6.9.1, but this is the effect. It already fails after installing the base packages.
https://stefan.konink.de/ads.txt
I have now basically extracted the .cpp and build a separate .so. That has the typeinfo information. But obviously that causes yet another issue.
ImportError: /home/skinkie/Sources/reproduced/build2/bindings2/pyqmaplibre.so: undefined symbol: _ZN6PySide18initQObjectSubTypeEP11_typeobjectP7_objectS3_
Ссылка
click to show
click to show
I managed to get it to work. But I doubt this is the way forward. The way I got the thing to work was by manually selecting the cpp files that defined the widget. Similar to how Wigly works. But that does not work for a complex project. For example the argument that I must provide to the widget is a type that virtually includes half of the C++ project. What I would I expect is that it would be possible to state "I want to have these C++ objects" in the binding, and use the compiled shared object as a reference. What the net result is, is that it feels virtually impossible to reach that goal. I'll again clean up the repo and commit the result.
http://stefan.konink.de/maplibre.png
@jeandet repo updated.
@jeandet In essence is my question, is it expected that the typeinfo stuff is not available, or is it some sort of "artifact" of mapbox-native-gl. I have tried to set -frtti but that is still ignored.
@jeandet I think I got it, including what my issue was.
1. rtti was basically disabled by maplibre, got that fixed now
2. my *_wrapper generated cpp files from shiboken were not included for the extra objects I created
I am currently trying to get some of the objects in there which cause some additional issues between shiboken and the mapping, likely require signature changes, but committed to get it to work.
22 July 2025
29 July 2025
Ссылка
click to show
click to show
I am trying to compile WigglyWidget under Windows, after I got linking issues with my custom widget, I end up in the same Shiboken errors. Similar to Linux I am using aqtinstall.
I copied the first few lines. Since Shiboken6.abi3.lib is mentioned, and it looks lik statically lined. What could it be missing.
https://stefan.konink.de/linking_win64.txt
I had to comment out the NODEFAULTLIB lines, since the linker initially complained about them, not able to find Python to link to. https://github.com/skinkie/wigglywidget/blob/master/CMakeLists.txt#L261
30 July 2025
To do stuff on Windows:
"c:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
aqt install-qt windows desktop 6.9.1 win64_msvc2022_64
pip install pyside6 shiboken6
mkdir build
cmake .. -G "NMake Makefiles" -DCMAKE_PREFIX_PATH="C:\Users\Gebruiker\PycharmProjects\badger\6.9.1\msvc2022_64" -DCMAKE_BUILD_TYPE=Release
nmake
31 July 2025
Hope for some guidance.
qt.shiboken: (bindings) /home/skinkie/Sources/reproduced/maplibre-native-qt/vendor/maplibre-native/include/mbgl/renderer/query.hpp:16: Stripping argument #1 of void mbgl::RenderedQueryOptions::RenderedQueryOptions(std::optional<std::vector<std::string> >,std::optional<mbgl::style::Filter>) due to unmatched type "std::optional<std::vector<std::string> >" with default expression "std::nullopt": Unable to translate type "std::optional<std::vector<std::string> >": Cannot find type entry for "std::optional".
Documention mentions:
https://doc.qt.io/qtforpython-6/shiboken6/typesystem_specifying_types.html#typedef-type
Now that would be analogue to?
<namespace-type name="std">
<value-type name="optional" generate="no"/>
</namespace-type>
<typedef-type name="StringVectorOptional" source="std::optional<std::vector<std::string>>"/>
Now that does not seem to be the case:
qt.shiboken: (bindings) template baseclass 'std::optional<std::vector<std::string>>' of 'StringVectorOptional' is not known
Any suggestions?