1

我认为这个问题是在升级到 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 吗?由于分析器报告的所有虚假错误,代码几乎无法编辑。

4

2 回答 2

1

我看到您在评论您所指的分析仪。

Eclipse CDT(C/C++ 开发工具包)不支持解析 Android.mk,但在撰写本文时,NDK 插件也没有添加该功能。

可能的(丑陋/烦人的)解决方法:设置一个头文件设置您缺少的定义,并将该头文件包含到所有文件中。

于 2012-12-18T00:41:50.433 回答
0

用于LOCAL_CPPFLAGSC++ 文件和LOCAL_CFLAGSAndroid.mk 中的 C 文件

于 2012-12-17T21:52:58.150 回答