Мой проект состоит из приложения, которое ссылается на две статические библиотеки. Каждая из библиотек объявляет Q_DECLARE_METATYPE<QUuid>
, чтобы использовать QUuid
с QVariant
, что приводит к ошибке 'redefinition of struct QMetaTypeId<QUuid>'
.Как избежать дублирования объявлений Q_DECLARE_METATYPE <aCommonType>
Каков правильный способ этого, сохраняя при этом возможность использовать каждую библиотеку самостоятельно в разных проектах?
Я не понимаю, почему вы не получили «переопределение структуры« QUuid ». Только автору «QUuid» следует объявить этот идентификатор метатипа. В противном случае это только вопрос времени, пока вы не столкнетесь с этой проблемой. –
@ JohannesSchaub-litb QUUID объявлен в заголовках Qt. У меня нет контроля над этим кодом, но я все еще хочу использовать этот тип в QVariant. – szayat