我在编译Qt项目时收到以下警告,但仅限于使用GCC的Mac OS X.使用MinGW的Windows和使用GCC的Linux不会发出此警告。
/Library/Frameworks/QtCore.framework/Versions/4/Headers/qtextcodec.h:175: warning: 'QCoreXmlStreamWriter' is already a friend of 'QTextEncoder'
为什么会出现这种情况,我该如何摆脱它呢?我是否以不正确的顺序包含某些标题或类似内容?
qtextcodec.h包含在QtCore中,我将其包含在几个头文件中。
如果需要更多信息,请与我们联系。
答案 0 :(得分:2)
根据Qt问题跟踪器。这是一个错误QTBUG-8243,但没有人提供解决方案。也许浏览他们提到的补丁可能会有所启发。
答案 1 :(得分: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似乎只是QXmlStreamWriter的定义(请参阅qxmlstream.h),因此它最终声明与朋友相同的类两次。所以不,我不认为你可以做任何事情,它很可能是一个Qt小虫。