linking Qt libs with explicit minor version numbers
uwerat opened this issue · comments
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