qskinny
qskinny copied to clipboard
linking Qt libs with explicit minor version numbers
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