我正在 osx 10.8 上使用 boost 1.48 和 gcc 版本 4.2.1 构建 som 软件,并且我已经开始收到一些 boost 源的
-Wparentheses-equality
警告。
equality comparison with extraneous parentheses
[-Werror,-Wparentheses-equality]
else if((state->type == syntax_element_long_set_rep))
我会更改代码,但我不想修改库,我如何消除警告并使编译器继续?
作为简单禁用警告的替代方法,您还可以指定某些路径作为“系统”路径。系统标头的警告被抑制,因此您可以声明特定库的标头是“系统”标头,并且您不关心其中的警告。
clang对此的论据是
--system-header-prefix=<prefix>
例如,您可能会说
"--system-header-prefix=boost/"
http://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-in-system-headers
根据错误消息判断,您实际上使用的是 clang 而不是 gcc。