[Development] 6 conflicting symbols between QtQuick 1 and 2

Olivier Goffart olivier at woboq.com
Tue Apr 23 19:47:25 CEST 2013


On Tuesday 23 April 2013 08:48:41 Thiago Macieira wrote:
> I'm going to wait for other people to suggest solutions to this. Mine, for
> the moment, is a hammer...

My suggested solution:

In the header:
Put those functions in an inline namespace.  (Or a normal namespace followed 
by an using declaration).

In one translation unit, keep an exported version of the old symbols which 
calls the new symbol in the namespace, to keep binary compatibility.

That way, the problem is solved if the application is compiled against Qt 5.1 
or later.  
If the application or one linked library is compiled against QtQml or 
QtDeclarative from 5.0, and that this library uses one of the problematic 
symbol, the crash can still happen.  So one must still not link both QtQml, 
QtDeclarative, and an old library together.

-- 
Olivier 

Woboq - Qt services and support - http://woboq.com - http://code.woboq.org




More information about the Development mailing list