沉默 - 明显 - 平等错误

时间:2012-09-01 20:32:08

标签: c++ boost compiler-construction

我使用增强版1.48在osx 10.8上使用gcc版本4.2.1构建som软件,并且我已开始收到-Wparentheses-equality警告某些增强源。

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

我会更改代码,但我不想修改库,我如何使警告静音并使编译器继续?

2 个答案:

答案 0 :(得分:10)

来自GCC manual

  

其中大多数都有正面和负面形式; -ffoo的否定形式为-fno-foo

尝试-Wno-parentheses-equality

答案 1 :(得分:3)

作为简单地禁用警告的替代方法,您还可以指定某些路径作为' system'路径。系统标题的警告被禁止,因此您可以声明特定的库标题是“系统”标题。标题以及您不关心其中的警告。

clang的论点是--system-header-prefix=<prefix>

例如,您可能会说"--system-header-prefix=boost/"

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

根据错误消息判断你实际上是在使用clang而不是gcc。