この問題は、JunoEclipseにアップグレードしたときに始まったと思います。C /C++ビルド環境もおそらく同時にアップグレードされたと思います。NDKはアップグレードされませんでした。
いくつかのプラットフォームでコンパイルされる大量のCコードがあります。crystax-ndk(r6)を使用してC++コードをコンパイルしています。Android用にコンパイルするタイミングを知るために、Android.mkで次のように定義しました。
LOCAL_CFLAGS := -DANDROID_NDK \
-DDISABLE_IMPORTGL \
...
次に、一部のファイルには、プラットフォームに応じて異なるヘッダーが含まれます
#ifdef ANDROID_NDK
...
私たちのコードはうまくコンパイルされ、うまく動作しているようです。ただし、特定のファイルを開くと、C /C++コードアナライザーは多くのエラーを検出します。これは、アナライザーがANDROID_NDKで定義された変数を認識していないためと思われます。
コードアナライザーがコンパイラーと同じ#definesを使用していない理由はありますか?コードはほとんど編集できず、アナライザーが報告しているすべての偽のエラーがあります。