【发布时间】:2012-12-18 08:41:50
【问题描述】:
我认为这个问题是在升级到 Juno Eclipse 时开始的。我相信 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 吗?由于分析器报告的所有虚假错误,代码几乎无法编辑。
【问题讨论】:
-
什么分析仪?无论如何,它可能并没有完全解析您的 Android.mk,如果它甚至试图完全解析的话。您可能必须以其他方式将适用的定义传递给它。
-
它只是 Eclipse 的 C/C++ 插件附带的标准分析器(或者在使用 NDK 时可能会被替换)。项目属性中似乎没有任何东西可以设置分析器,所以我猜这只是默认值。
标签: android android-ndk analyzer