[Development] 6 conflicting symbols between QtQuick 1 and 2

Knoll Lars Lars.Knoll at digia.com
Tue Apr 23 13:49:10 CEST 2013


Hi Harri,

having the symbols clash is not a good idea in any case, so please go
ahead and rename one set. I'd go for changing the ones in Qt Quick 1.

Cheers,
Lars

On 4/23/13 1:04 PM, "Harri Porten" <porten at froglogic.com> wrote:

>Hi!
>
>Don't ask why but we ran into the known[1] segfault caused by symbol name
>conflicts between Qt5Qml and Qt5Declarative. Checking the symbol tables
>it 
>appears to because by 6 symbols only:
>
>   qmlContext(QObject const*)
>   qmlExecuteDeferred(QObject*)
>   qmlAttachedPropertiesObject(int*, QObject const*, QMetaObject const*,
>bool)
>   qmlAttachedPropertiesObjectById(int, QObject const*, bool)
>   qmlInfo(QObject const*)
>   qmlEngine(QObject const*)
>
>At least for non-VS compilers the partially different return types (QQml*
>vs. QDeclarative*) don't help with having a different symbol name
>mangling. At the same time the functions cannot be used interchangeably
>either. So I assume that this conflict was a simply copy&paste oversight
>during the porting.
>
>I have not checked the respective use cases of the functions but I guess
>that they are internal to Qt despite being exported? Anyone sees a
>problem 
>with renaming the functions of v1 or v2 to make their names unique? If
>not, we'll prepare a patch and present it.
>
>To stress one point: we are not attempting to run both types of GUIs in a
>single application. We'd just like to have the possibility to have the
>two 
>libraries co-exist and optionially be used.
>
>Harri.
>
>[1] https://bugreports.qt-project.org/browse/QTBUG-29584
>
>
>_______________________________________________
>Development mailing list
>Development at qt-project.org
>http://lists.qt-project.org/mailman/listinfo/development




More information about the Development mailing list