2011-10-27 4 views
0

私は、異なるサブプロジェクトに分割された大きなプロジェクトに対してboost buildを使用します。 ここjamrootファイル:boost build:disable -WeffC++ per module

project 
    : requirements 
    <variant>debug:<define>DEBUG 
    <variant>release:<define>NDEBUG 
    <variant>debug:<cxxflags>-Weffc++ 
    <include>. 
    : 
    ; 

use-project ... 
use-project ... 
... 

build-project ... 
build-project ... 
... 

一つのサブプロジェクトは、コードスタイルで良いことではありません自動的に生成されたコードが含まれています。だから私はこのサブプロジェクトのtie -Weff ++ディレクティブを無効にしたいと思います。 -WeffC++をサブプロジェクトごとに宣言することは可能ですが、私は本当にこのソリューションが気に入らないのです.WeffC++はどこでも(実際にはほとんどない)サブプロジェクトで無効にしたいからです。

サブプロジェクトごとにこのディレクティブを無効にする可能性はありますか?または、私はサブプロジェクトで別のものを追加することができ、すでに指定されている-Weff ++を無効にするgccコンパイラオプションがありますか?

答えて

2

no-というプレフィックスを持つGCC警告オプションを無効にすることができます。g++ -Wno-effc++。これを除外するサブプロジェクトのために定義してください。サブプロジェクトのオプションがに追加されていれば、デフォルトのの後で動作するはずです。

+0

拡張子:gccオプション "-I/path/to/subproject"ではなく "-isystem/path/to/subproject"を含むサブプロジェクトのヘッダーパスをインクルードすると、インクルードされたヘッダーの警告ヘッダーはシステムヘッダーと見なされるため、無視されます。 – Heinzi