uwerat / qskinny

A lightweight framework on top of the Qt scene graph and only few classes from Qt/Quick. It is usable from C++ and/or QML.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

linking Qt libs with explicit minor version numbers

uwerat opened this issue · comments

commented

While Qt takes care of keeping the public API stable this is not the case for the semi-public ( a.k.a as private ) headers.

Unfortunately it is not possible to implement a library like QSkinny without using the semi-public API. In this respect QSkinny is like a Qt module, that is also using this extra API from other Qt modules.

So we have the problem that a QSkinny library, that was built with Qt 6.5, runs against a Qt 6.6.x without having a SONAME that prevents potential incompatibilities.

One solution to this problem could be to link against f.e libQt6Quick.so.6.5 - instead of libQt6Quick.so.6.

For some reason Qt6 installations do not offer the required link - in opposite to Qt5 installations - and we might end up with having to add the patch level too:

libQt5Quick.so -> libQt5Quick.so.5.15.8
libQt5Quick.so.5 -> libQt5Quick.so.5.15.8
libQt5Quick.so.5.15 -> libQt5Quick.so.5.15.8
libQt5Quick.so.5.15.8

and

libQt6Quick.so -> libQt6Quick.so.6
libQt6Quick.so.6 -> libQt6Quick.so.6.4.2
libQt6Quick.so.6.4.2