4

iOSアプリにはC++ライブラリを使用しています。Apple LLVM 3.1コンパイラが構成されている場合(デフォルト)、このC ++コードに対して多くの警告が表示され、そのほとんどが次のように表示されます。

... is a GNU extension

clangのユーザーマニュアルの紹介によると: Clangドライバーと言語機能は、GNCからClangへの移行を容易にするために、GNUGCCコンパイラーと可能な限り互換性があるように意図的に設計されています。ほとんどの場合、コードは「正しく機能します」。

それで、この警告を無効にするスイッチを探すだけでいいのでしょうか(ところで、どうすればいいですか?)、それともこのlibですべてのGNU拡張機能を取り除くほうがよいでしょうか?

4

1 に答える 1

8

コンパイラ フラグを使用して警告を抑制することができます。Clang は、警告ごとに使用するコンパイラ フラグを通知します。ビルド後、View > Navigators > Show Log Navigator を選択します。次に、ログ ナビゲーターから最新のビルド ログを選択します。警告のあるファイルを見つけて、そのステータス ラインの右端にある開示ボタンをクリックします。Xcode は、そのファイルのコンパイラ コマンド ラインと出力を表示します。各警告には、警告を有効にするコンパイラ フラグが含まれている必要があります。例:

ここに画像の説明を入力

私の例では、警告フラグは-Wpointer-arith. したがって、警告は によって無効にすることができます-Wno-pointer-arith。したがって、そのフラグを「その他の警告フラグ」ビルド設定に追加できます。

ここに画像の説明を入力

于 2012-10-06T03:35:42.587 に答える