2017-01-23 9 views
1

Xcode에서 프로젝트 레벨에는 다음과 같은 설정이 있습니다. Xcode setting to suppress deprecated function warningClang C++ 억제 - 비 사용 선언 - 파일 당

이렇게하면 보고서 탐색기에서 확인할 수있는 컴파일에 -Wno-deprecated-declarations가 추가됩니다. 또한 deprecated 함수를 사용하려고 할 때 경고가 발생하지 않습니다.

단일 파일 내에서이 경고를 표시하지 않으므로 #pragma를 다음과 같이 사용했습니다.

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Wno-deprecated-declarations" 

deprecated_function_call(); 

#pragma clang diagnostic pop 

이 코드는 다음과 같은 컴파일 오류를 발생시킵니다. 오류 : 알 수없는 경고 그룹이 무시 '-Wno이 --선언되지 않는'[-Werror, -Wunknown - 프라 그마] 어떻게 가능성 진단 무시 "-Wno이-되지-선언"

입니다

프라그가 그 소리 컴파일러는이 경고 플래그를 사용할 수 있으며 내 pragma에서 할 수 없습니다.

내 clang 버전; 애플 LLVM 버전 8.0.0 (그 소리-800.0.36.1)

답변

0

시도 :

#pragma clang diagnostic ignored "-Wdeprecated-declarations" 

대신 :

#pragma clang diagnostic ignored "-Wno-deprecated-declarations" 

난 그냥 "-Wno - 기호 -와 비슷한 문제가 있었다 비교 "를 사용하여"-Wsign-compare "("no- "부분 삭제)를 사용하여 수정되었습니다.

당신의 경우에는 "deprecated-declarations"가 경고 그룹의 실제 이름이고 컴파일러 옵션으로 사용될 때 "no-"접두사가 추가되어 경고가 표시 될 것으로 예상됩니다. 이 그룹은 무시해야합니다. pragma에는 이미 "ignored"키워드가 포함되어 있으므로 동일한 구문이 pragma에서 사용되지 않는 이유를 설명 할 수 있습니다.