2011-10-27 40 views
0

我使用boost構建一個大項目,這個大項目分爲不同的子項目。 這裏Jamroot中的文件:boost build:disable - 每個模塊的WeffC++

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

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

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

一個子項目包括自動生成的代碼,是不是在代碼風格好。所以我想爲這個子項目禁用tie-WeffC++指令。 聲明-WeffC++每子項目是可能的,但我真的不喜歡這個解決方案,因爲我想有-WeffC++到處但(真數)子項目我禁用它。

是否有可能在boost build中爲每個子項目禁用此指令?還是有一個gcc編譯器選項,我可以在子項目中添加另一個選項,這將禁用已經指定的WeffC++?

回答

2

您可以用no-前綴取消任何Gcc警告選項:g++ -Wno-effc++。定義對於要排除的子項目,只要將子項目的選項添加到命令行後的默認值之後,它就會工作。

+0

擴展:當包括子項目的頭道不與海灣合作委員會的選項「-I /路徑/到/子項目」,但與「-isystem /路徑/到/子項目」,在包含頭文件還警告將被忽略,因爲標題被視爲系統標題。 – Heinzi