2017-01-23 20 views
1

Xcodeでは、プロジェクトレベルで次の設定があります。 Xcode setting to suppress deprecated function warning これは、Report Navigatorから検証できるコンパイルに-Wno-deprecated-declarationsを追加します。また、非推奨の関数を使用しようとすると、警告は発生しません。Clang C++抑止 - ファイルごとの非推奨宣言

私はこの警告を1つのファイルで抑制したいので、#pragmaを次のように使用しました。

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

deprecated_function_call(); 

#pragma clang diagnostic pop 

このコードは、次のコンパイルエラーを示します。 エラー:不明な警告グループ '-Wno-非推奨-宣言'、無視[-Werror、-Wunknown-プラグマは]

プラグマは、それが可能であるどのように

診断無視 "-Wno-非推奨-宣言" を打ち鳴らしますコンパイラはこの警告フラグを使用することができ、私は自分のプラグマではできません。

My clang version; アップル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-"部分を削除)を使用して修正された "compare"を返します。

あなたのケースでは、 "deprecated-declarations"は警告グループの実際の名前であり、コンパイラオプションとして使用された場合は "no-"接頭辞が追加され、このグループは無視する必要があります。プラグマにはすでに "ignored"キーワードが含まれているため、同じ構文がプラグマで使用されない理由が説明されている可能性があります。

関連する問題