2013-09-06 28 views
10

私はサードパーティのライブラリをコンパイルしていますが、ライブラリにある警告を修正する気にはなりませんが、Qt Creatorの問題ペインを汚染したくありません。Qtプロジェクトで-Wallコンパイラ警告を無効にしますか?

アドバイスhereに従ってみましたが、-Wno-enum-compareなどのように、有効にした後で-Wallを無効にするコンパイラフラグはありません。

thisを読んだ後、私はそうのようなフラグを削除しようとした:

CFLAGS -= -Wall 

しかし、それはどちらか動作しませんでした。だから私はthis adviceを試していない:

QMAKE_CXXFLAGS_WARN_OFF -= -Wall 

まだ何も。

だから私は、生成されたMakefileに見て、この発見:

CFLAGS -= -Wall 
CXXFLAGS -= -Wall 
それでも

何も:だから私は、これらの二つの変数からフラグを削除しようとした

CFLAGS  = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES) 
CXXFLAGS  = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES) 

を。このコンパイラフラグをどうやって削除するのですか?

答えて

21

最も簡単な解決策は以下のとおりです。コメント欄でPeppeのに

CONFIG += warn_off 

感謝。このhint次の代替策

-Wallフラグは、これら二つの変数によってMakefileに挿入されます:

QMAKE_CFLAGS_WARN_ON 
QMAKE_CXXFLAGS_WARN_ON 

ので-Wallを削除するには、あなたはそれらの変数の両方からそれを削除する必要があります。

QMAKE_CFLAGS_WARN_ON -= -Wall 
QMAKE_CXXFLAGS_WARN_ON -= -Wall 

associateddocumentationは、率直に言って、かなり欠けています。

+11

非ハッキーな方法はおそらく 'CONFIG + = warn_off'です。この変数/オプション/はどこから来たのかをデバッグする一般的な方法として、 'qmake -d'、' qmake -d -d'などを実行できます。これはあなたに多くの有用な手がかりを与えるでしょう。 – peppe

+0

@peppe恐ろしい - ありがとう。私はこれを全く知らなかった! –

8

「Peppeの」もコメントで述べたように、Qt'ishの方法は、以下のドキュメントによると、このです:CONFIG += warn_off/on

warn_on:可能な限り、コンパイラはすべき出力として多くの警告。 warn_offが指定されている場合は無視されます。

warn_off:できるだけ少ない警告を出力する必要があります。

CONFIGのマニュアルはhereにあります。

QMAKE_CXXFLAGS_WARN_OFF/ON変数は、qmakeによって処理されるときに明示的に設定する必要はありません。

関連する問題