2012-09-01 181 views
5

即時通訊軟件使用升壓1.48在OSX 10.8與海灣合作委員會版本4.2.1和我已經開始得到-Wparentheses-equality警告一些推動源。沉默-Warentheses-平等錯誤

equality comparison with extraneous parentheses 
    [-Werror,-Wparentheses-equality] 
     else if((state->type == syntax_element_long_set_rep)) 

我會改變代碼,但我不想修補庫,我將如何沉默警告,並使編譯器繼續?

回答

10

GCC manual

大多數的這些有正反兩方面的形式; -ffoo的否定形式將是-fno-foo

嘗試-Wno-parentheses-equality

+0

即時通訊相當新穎,你的意思是我應該添加-Wno-括號 - 平等作爲make命令的參數嗎?我試過,我仍然得到錯誤 –

+0

@jonathantopf不,這是編譯器的選項。如果你正在使用Make,那麼通常這會存儲在一個變量中,例如'CXXFLAGS'。試着尋找'-Wall'(一個常見的選項,它也會存儲在這裏),並在它旁邊添加這個選項。 –

3

作爲簡單禁用警告的替代方法,您還可以指定某些路徑作爲「系統」路徑。系統標題的警告被壓制,所以你可以聲明特定的庫標題是'系統'標題,並且你不關心它們中的警告。

鐺對此的說法是--system-header-prefix=<prefix>

因此,例如,你可能會說"--system-header-prefix=boost/"

http://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-in-system-headers

以及由該錯誤消息判斷是否正在使用鐺,而不是GCC。