4 ms·
At least Qt cares more about compatibility: https://wiki.qt.io/Qt-Version-Compatibility https://wiki.qt.io/Qt-Version-Compatibility - Qt 5.x.y releases are sup
by xioxox 6y ago
At least Qt cares more about compatibility: https://wiki.qt.io/Qt-Version-Compatibility https://wiki.qt.io/Qt-Version-Compatibility - Qt 5.x.y releases are supposed to be binary compatible with each other.
- badsectoracula 6y agoQt5.x.y might be compatible, but what about Qt4.x.y or Qt6.x.y? If some program is linked against Qt4.x.y it wont get any benefits and fixes from Qt5.x.y and the same will happen with Qt6.x.y. And TBH i'm not sure if a C++ library can ever be backwards compatible, at least without major major hacks (think like automatically generating a "proxy" library that uses the old ABI to forward calls to the new ABI - i think the only C++ API that ever did something like that is Haiku so that they support both G++ 2.95 from BeOS and modern G++ programs from the same libraries - even then this is easier for them since they're the OS and can decide they'll always distribute those proxy libraries, which isn't something you can rely all Linux distros to do), since C++ does not even pretend to have a stable ABI. I know that the G++ developers are trying to keep things compatible but i'm not sure of the C++ designers care that much. On the other hand on Windows, just a few hours ago i was playing a recent(ish) game made with RPG Maker 2000, which as the name implies was made two decades ago and yet still works perfectly fine. And i have a bunch of older programs that work fine linking against the latest version of Windows 10's libraries, with all the fixes and new features they've got over the years.
- jcranmer 6y ago> since C++ does not even pretend to have a stable ABI. I know that the G++ developers are trying to keep things compatible but i'm not sure of the C++ designers care that much. The Itanium C++ ABI is the stable ABI on Linux, and the C++ standards committee (along with those who maintain the Itanium ABI) cares very much about not breaking the ABI. For example, the C++ committee is not able to make any ABI-breaking changes to the standard library, even where it would be advisable.
- marcan_42 6y agoThe Linux C++ ABI has broken in at least one massive way recently, as mandated by the standard. https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_a... I remember this having happened multiple times before, though thankfully it has gotten less common over time. The C ABI is stable, except when it isn't (largefile was a fun one...)
- lmm 6y agoAnd keeping Qt up to date the system-packages way works fine without needing flatpak et al. I don't think that's coincidence.