8

Qt プロジェクトでファイルのコレクションをコンパイルしているときに、このような警告がたくさん表示されます。

In file included from /usr/local/Trolltech/Qt-4.8.6/include/QtGui/qevent.h:52:
/usr/local/Trolltech/Qt-4.8.6/include/QtGui/qmime.h:119:10: warning: private field 'type' is not used [-Wunused-private-field]
    char type;
     ^

さまざまな検索からの提案に従って、エントリを追加しました

QMAKE_CXXFLAGS += -Wno-unused-private-field

.pro ファイルに追加し、コンパイラの呼び出しで正しく表示されることを確認しましたが、それでもその警告が表示されます。

Macでclangを使用してQtを実行しています。

洞察を事前に感謝します。

4

4 に答える 4

10

この回答に従って、試してください

QMAKE_CXXFLAGS_WARN_ON += -Wno-unused-private-field

の後にQMAKE_CXXFLAGS_WARN_ONフラグがコンパイラ コマンド ラインに追加され、QMAKE_CXXFLAGSその警告が再度有効になるようです ( がQMAKE_CXXFLAGS含まれているため-Wall)。

于 2013-07-30T00:09:18.100 に答える
2

Qtライブラリが原因でコンパイルできないのは奇妙に聞こえます。私は Mac で開発していないので、サポートされている Mac のバージョン/コンパイラと Mac でのコンパイル方法を確認します。その後、要件に適合する場合は、これをバグとして報告します。

別のアプローチ (この QT-Bug: To #include generate warningsで既に報告されているように) は、警告されたヘッダーの周りにプラグマを含めることです。

 #pragma GCC diagnostic ignored "-Wunused-private-field"
 #include <QtGui>
 #pragma GCC diagnostic warning "-Wunused-private-field"
于 2013-07-30T08:23:44.540 に答える
1

まず第一に、QTのバグかどうかはわかりませんが、QTフォーラムで最近同じことについて質問が1つ見つかりました。解決されることを願っています。

考えられるバグ: qmime.h 警告「char タイプは使用されていません」</a>

もう1つあります 。Clang 4.2は、QMacMime未使用のプライベートフィールド「タイプ」について警告します

これはあなたを助けるかもしれません。

于 2013-07-30T08:50:12.447 に答える
0

私はclangの男ではありませんが、http:-isystem //clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-in-system-headersによると、これらのQtヘッダーがあるディレクトリでフラグを使用できますで、それらをシステム インクルードとして扱い、警告を抑制します。

于 2013-07-25T00:24:27.320 に答える