7

私はQtで書かれ、Linux上でqmakeとgccを使用して構築されたソフトウェアプロジェクトに携わっています。品質がかなり低く、大量の警告を発するサードパーティのライブラリにリンクする必要があります。ソースコードで-W-Wallを使用したいのですが、-wを厄介なサードパーティライブラリに渡して、コンソールをノイズや乱雑さから解放し、コードの品質に集中できるようにします。

qmakeで、CFLAGS / CXXFLAGSを特定のファイルおよびライブラリに条件付きで追加する方法はありますか?

4

5 に答える 5

7

Jonathan さん、問題はソース ファイルにサード パーティのライブラリのヘッダー ファイルが含まれているところにあると思いますが、後者の警告をオフにしたいと考えています。

ケビン、プラグマを使用して警告を制御できると思います: gcc diagnostic pragmas

サードパーティ ライブラリの #includes の前後にこれらを追加できます。

于 2009-04-22T07:00:08.117 に答える
3

-isystemを使用してライブラリを含めるとどうなりますか。

プロジェクトファイル内例:

QMAKE_CXXFLAGS += -isystem /usr/local/boost_1_44_0
于 2011-06-22T09:30:35.650 に答える
0

通常、サードパーティのライブラリは独自のコードとは別のディレクトリに構築するため、別のmakefileを使用して、そのコンパイルに別のフラグのセットを配置できます。

サードパーティのライブラリコードを独自のコードと混合した場合は、メンテナンスの悪夢に直面することになります。

于 2009-04-22T05:52:46.950 に答える
0

マーティンが書いたように、経由でインクルードディレクトリを追加します

QMAKE_CXXFLAGS += -isystem ...

それぞれのヘッダーで警告を抑制します。プロジェクトのソースファイル(またはプロジェクト全体)の警告を無効にしたり、#pragmasファイルやラッパーファイルを混乱させたりする必要はありません。

QtCreatorを使用している場合でも、(つまり、さらに)ディレクトリを追加しINCLUDEPATHて、インデクサーがヘッダーを取得できるようにする必要があることに注意してください。

于 2012-03-24T22:09:19.830 に答える
0

ケビン、

qmake CONFIG+=debug QMAKE_CXXFLAGS_WARN_ON=-w QMAKE_CFLAGS_WARN_ON=-w

する必要があります (必要に応じて CONFIG+=release を使用します...)

于 2010-11-13T15:24:02.693 に答える