2012-09-01 2 views
5

임스 소프트 소프트웨어는 gs 버전 4.2.1에서 osx 10.8에서 부스트 1.48을 사용하고 일부 부스트 소스에 대해서는 -Wparentheses-equality 경고를 받기 시작했습니다.침묵 - 괄호 - 동등한 오류

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

내가 코드를 변경할 것입니다하지만 난, 라이브러리와 수리를 내가 어떻게 경고를 침묵 것이며, 컴파일러는 계속하게 돼요? GCC manual에서

답변

10

:

이들의 대부분은이 모두 긍정적이고 부정적인 형태; -ffoo의 부정 형식은 -fno-foo이됩니다.

시도 -Wno-parentheses-equality.

+0

메신저 꽤 새로운데, 당신은 make-argument에 -Wno-parentheses-equality를 추가해야한다는 것을 의미합니까? 나는 그것을 시도하고 난 여전히 오류가 발생 –

+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를 사용을 말할 수있다.