Предупреждение о компиляции только с Qt - Mac OS X: <class>уже является другом <class> - PullRequest
1 голос
/ 11 августа 2010

Я получаю следующее предупреждение при компиляции проекта Qt, но ТОЛЬКО в Mac OS X с GCC.Windows с MinGW и Linux с GCC не выдают это предупреждение.

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

Почему это отображается и как от него избавиться?Я включил некоторые заголовки в неправильном порядке или что-то в этом роде?

qtextcodec.h включен в QtCore, который я включаю в несколько файлов заголовков.необходимо.

Ответы [ 2 ]

2 голосов
/ 11 августа 2010

По данным трекера Qt. Это ошибка QTBUG-8243 , но никто не предоставил обходной путь. Возможно, просмотр патча, который они упоминают, может пролить свет.

1 голос
/ 11 августа 2010

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, похоже, является просто определением для QXmlStreamWriter (см. Qxmlstream.h), поэтому в итоге он объявляет один и тот же класс дважды. Так что нет, я не думаю, что вы можете что-то с этим поделать, скорее всего, это Qt buglet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...