[Development] QtMultimedia and Musepack

Thiago Macieira thiago.macieira at intel.com
Tue Aug 26 18:38:35 CEST 2014


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




More information about the Development mailing list