1. ホーム
  2. xcode

LLVM/Clang を使って特定のファイル内の警告をすべて無視する

2023-09-05 04:34:58

質問

私の iOS プロジェクトには、いくつかの警告があるファイルがあり、それらの警告を無視したいと思っています。プロジェクト全体で警告を無効にしたいわけではなく (その方法は知っています)、特定のファイルだけです。そこで、特定のファイルからのすべての警告を完全に無視する方法はありますか?

私は Xcode 4.2 上で LLVM 3.0 と Clang を使用しています。

どのように解決するのですか?

もしclangを使うだけなら、自分がメンテナンスするソースにはpragma構文を使うべきです(プログラムを適切に変更することで警告を除去することが不可能であると仮定して)。

ここにその構文があります。

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wmultichar"

char b = 'df'; // no warning.

#pragma clang diagnostic pop

もし、これらのプログラムが変更できず、メンテナンスもしないものであれば、すべてではなく、そのファイルに対して無効にする警告を指定する必要があります。 -w ソースは変更され、いくつかの警告は異なるビルド設定で適用される(またはされない)。Clangのメッセージは、生成された警告に等しいフラグを教えてくれます。

ファイルのビルドフラグを変更するためにXcodeを使用するには。

  • ターゲットを選択します。
  • ビルドフェーズを選択
  • ソース コンパイル フェーズで引数を変更するためのファイルを探します。
  • 編集するために、その "Compiler Flags" セルをダブルクリックします。