2010-08-10 6 views
1

Je reçois l'avertissement suivant lors de la compilation d'un projet Qt, mais UNIQUEMENT sur Mac OS X avec GCC. Windows avec MinGW et Linux avec GCC n'émettent pas cet avertissement.Avertissement de compilation avec Qt - Mac OS X uniquement: <class> est déjà un ami de <class>

/Library/Frameworks/QtCore.framework/Versions/4/Headers/qtextcodec.h:175: warning: 'QCoreXmlStreamWriter' is already a friend of 'QTextEncoder'

Pourquoi cette démonstration et comment puis-je me débarrasser de lui? Ai-je inclus certains en-têtes dans un ordre incorrect ou quelque chose comme ça? Qtextcodec.h est inclus par QtCore, que j'inclus dans plusieurs fichiers d'en-tête.

S'il vous plaît laissez-moi savoir si vous avez besoin de plus d'informations.

Répondre

2

Selon le Qt issue tracker. C'est un bug QTBUG-8243, mais personne n'a fourni de travail. Peut-être que naviguer sur le patch dont ils parlent pourrait faire la lumière.

+0

Ah ... on dirait que ça va être corrigé pour 4.7. Je n'utilise pas -Werror, donc pas de soucis. Juste un petit ennui. :) Merci pour l'info. –

1

Qtextcodec.h

friend class QXmlStreamWriter; 
friend class QXmlStreamWriterPrivate; 
#if defined(Q_OS_MAC32) || defined(Q_OS_AIX) 
friend class QCoreXmlStreamWriter; 
friend class QCoreXmlStreamWriterPrivate; 
#endif 

QCoreXmlStreamWriter semble être juste pour définir QXmlStreamWriter (voir qxmlstream.h), il finit par déclarer la même classe que deux fois ami. Donc non, je ne pense pas que vous puissiez faire quoi que ce soit à ce sujet, c'est probablement un Qt buglet.