Mein Projekt besteht aus einer App, die mit zwei statischen Bibliotheken verknüpft ist. Jede der Bibliotheken deklariert Q_DECLARE_METATYPE<QUuid>
, um QUuid
mit QVariant
zu verwenden, was zu einem 'redefinition of struct QMetaTypeId<QUuid>'
Fehler führt.So vermeiden Sie doppelte Deklarationen von Q_DECLARE_METATYPE <aCommonType>
Was ist der richtige Weg, um dies zu tun, während die Möglichkeit bleibt, jede Bibliothek in verschiedenen Projekten zu verwenden?
Ich verstehe nicht, warum Sie "Neudefinition von Struct 'QUuid'" nicht bekommen haben. Nur der Autor von "QUuid" sollte diese Metatyp-ID deklarieren. Sonst ist es nur eine Frage der Zeit, bis Sie auf dieses Problem stoßen. –
@ JohannesSchaub-litb QUuid wird in Qt-Headern deklariert. Ich habe keine Kontrolle über diesen Code, aber ich möchte diesen Typ immer noch in QVariant verwenden. – szayat