Dự án của tôi bao gồm một ứng dụng liên kết đến hai thư viện tĩnh. Mỗi thư viện tuyên bố Q_DECLARE_METATYPE<QUuid>
, để sử dụng QUuid
với QVariant
, dẫn đến lỗi 'redefinition of struct QMetaTypeId<QUuid>'
.Cách tránh các khai báo trùng lặp của Q_DECLARE_METATYPE <aCommonType>
Cách chính xác để thực hiện điều này trong khi vẫn giữ khả năng sử dụng từng thư viện riêng của mình trong các dự án khác nhau là gì?
Tôi không hiểu tại sao bạn không nhận được "định nghĩa lại cấu trúc 'QUuid'". Chỉ tác giả của "QUuid" nên khai báo rằng id kiểu dữ liệu. Nếu không, nó chỉ là một câu hỏi về thời gian cho đến khi bạn gặp phải vấn đề này. –
@ JohannesSchaub-litb QUuid được khai báo trong tiêu đề Qt. Tôi không có quyền kiểm soát mã đó, nhưng tôi vẫn muốn sử dụng loại đó trong QVariant. – szayat