2

イントロ

少し前に、ペダンティックGCCキーが便利であり、よりクリーンなコードを書くようにアドバイスできることがわかりました。単純なコンソールC++アプリをコーディングし、パラメーターを使用してコンパイルすると、次のようになります。

-Wall -Wextra -pedantic -Weffc++ -Wold-style-cast
-Wconversion -Winit-self -Wunreachable-code

(ここにそれらすべてに関する完全に文書化された情報があります:警告を要求または抑制するオプション、C ++方言を制御するオプション


問題

現在、MinGWコンパイラでQt4.8.4を使用してアプリを構築しています。.pro問題は、ファイルに次の行を追加すると、次のようになることです。

QMAKE_CXXFLAGS += -Wall -Wextra -pedantic -Weffc++ -Wold-style-cast
QMAKE_CXXFLAGS += -Wconversion -Winit-self

Qtのソースからは何をするのかという警告がたくさんありましたが、私のソースからはそうではありませんでした。


.pro上記の-fileに記述されたパラメーターを持つ単純なQtGUIプロジェクトは、次のような517の警告を出します。

D:\ Qt \ 4.8.4 \ src \ corelib \ global \ qglobal.h:981:警告:基本クラス'structQIntegerForSize<4>'に非仮想デストラクタがあります[-Weffc++]

D:\ Qt \ 4.8.4 \ src \ corelib \ tools \ qpoint.h:174:警告:「int」から「float」に変換すると、その値が変わる可能性があります[-Wconversion]

..。

等々。


質問

Qtのソースにペダンティックパラメーターを適用することを避け、そのパラメーターを私のコードでのみ使用するにはどうすればよいですか?

4

1 に答える 1

6

GCCのフラグを使用してそれらをシステムヘッダーとしてマークすると-isystem、警告は表示されません。(http://gcc.gnu.org/onlinedocs/cpp/System-Headers.htmlも参照してください)。

于 2013-02-07T10:28:45.237 に答える