不使用已定义变量的Android NDK代码分析

不使用已定义变量的Android NDK代码分析,android,android-ndk,analyzer,Android,Android Ndk,Analyzer,我认为这个问题是从升级到Juno Eclipse时开始的。我相信C/C++构建环境可能同时也得到了升级。NDK没有升级 我们有大量的C代码,可以在多种平台下编译。我们使用CHIXAX NDK(R6)编译我们的C++代码。为了知道何时为Android编译,我们在Android.mk中定义了以下内容 LOCAL_CFLAGS := -DANDROID_NDK \ -DDISABLE_IMPORTGL \ ... 然后在一些文件中,我们将根据

我认为这个问题是从升级到Juno Eclipse时开始的。我相信C/C++构建环境可能同时也得到了升级。NDK没有升级

我们有大量的C代码,可以在多种平台下编译。我们使用CHIXAX NDK(R6)编译我们的C++代码。为了知道何时为Android编译,我们在Android.mk中定义了以下内容

LOCAL_CFLAGS := -DANDROID_NDK \
            -DDISABLE_IMPORTGL \
                 ...
然后在一些文件中,我们将根据平台的不同包含不同的头

#ifdef ANDROID_NDK
     ...
我们的代码编译得很好,似乎运行得很好。但是,当打开某些文件时,C/C++代码分析器会发现许多错误。这似乎是因为分析器不知道ANDROID\u NDK定义的变量


你知道为什么代码分析器没有使用与编译器相同的#定义吗?该代码几乎不可编辑,所有分析器报告的伪错误。< C>文件>使用代码> > LoalAlpCppFLAGS < /> >在您的Android中的C文件。C++ >使用<代码> Calp> LoalAlpCppFLAGS < /C> > C++文件和<代码> LoalaCfFLAG/<代码>在您的Android中。MK

< P>我看到您正在评论有关你刚才提到的分析仪

LOCAL_CFLAGS := -DANDROID_NDK \
            -DDISABLE_IMPORTGL \
                 ...
EclipseCDT(C/C++开发工具包)不支持解析Android.mk,但在撰写本文时NDK插件也没有添加该功能


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

我看到您对所引用的分析器发表了评论

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


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

什么分析器?无论如何,它可能没有完全解析您的Android.mk,如果它甚至试图解析的话。您可能需要以其他方式将适用的定义传递给它,它只是Eclipse的C/C++附加组件附带的标准分析器(或者在使用NDK时被替换)。在项目属性中似乎没有任何东西可以设置分析器,所以我猜它只是默认值。什么分析器?无论如何,它可能没有完全解析您的Android.mk,如果它甚至试图解析的话。您可能需要以其他方式将适用的定义传递给它,它只是Eclipse的C/C++附加组件附带的标准分析器(或者在使用NDK时被替换)。在项目属性中似乎没有任何东西可以设置分析器,所以我猜它只是默认值。作为一个测试,我复制了LOCAL\u CFLAGS并调用了dup LOCAL\u CPPFLAGS。这样做没有帮助。我认为它不会,因为C是C++的子集,而编译C++时,通常会继承LoalAljcFLAGS。谢谢你的尝试。你是对的,这在android-ndk-1.5_r1之后已经改变了。此后,代码> > LoalAlgCfLaS:<代码>用于C/C++和 LoalAlpCppFLAGS < /C> > C++,作为一个测试,我复制了LoalAlgCfLAGS并调用了DUP LoalLyCppFLAGS。这样做没有帮助。我认为它不会,因为C是C++的子集,而编译C++时,通常会继承LoalAljcFLAGS。谢谢你的尝试。你是对的,这在android-ndk-1.5_r1之后已经改变了。此后,代码C++ > C++的C/C++和 LoalAlpCppFLAGS < /C> >用于C++ + OnLyk,这就说明了这一点。目前,我刚刚关闭了大多数分析仪警告/错误,因此它们不会妨碍我。好的,这就解释了。目前,我刚刚关闭了大多数分析仪警告/错误,因此它们不会妨碍我的工作。