On Tuesday 26 August 2014 10:27:52 Allan Sandfeld Jensen wrote: > Well. That would the safe way, and we should keep that in mind for Qt6, but > I believe with symbol versioning it can be done without breaking ABI, > assuming it works as advertised. The libraries would export all symbols as > both their normal form and with @Qt_5 or @Qt_4 added. The libraries would > at link time remember which the version suffix they linked against, and > prefer that symbol at runtime linking. This means the duplicate non > versioned symbol shouldn't cause any issues. > I haven't tried, and some information I found about it, seems to suggest it > can run into bugs in ld.so.
We can do that, but that doesn't solve the problem. It just adds more work. We need a way to do this in such a way that the symbols don't conflict at runtime. But by keeping binary compatibility, we'll have two libraries providing _ZN12QApplication16staticMetaObjectE (for example): libQtGui.so.4 and libQt5Widgets.so.5. The only way to do this is to make sure the symbol we provide is unique and won't conflict. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Development mailing list [email protected] http://lists.qt-project.org/mailman/listinfo/development
