在Eclipse上使用Android的原生c ++ - 在stdlib上给出错误但有效

时间:2012-07-30 14:07:29

标签: java android c++ eclipse debugging

我一直在Android eclipse环境中构建我的Android应用程序。构建我的c ++代码并使用ndk-build独立编译它。这很好。

我需要调试logcat突然抛出的sigsegv错误。

所以我在eclipse中将项目切换为'在android中添加本机代码'。现在它调试我的c ++代码,但每次使用任何std组件时都会给我一个错误,例如vector,因此我无法运行代码,因为它包含错误。

项目在之前的配置上运行正常。我相信我添加了一个用于std支持的库。

关于如何正确调试我的本机代码的任何想法?

感谢您的帮助

UPDATE 我完全重新安装了我的sdk,eclipse(这次是juno)和所有插件。没变。错误检查无法识别java和std相关的东西:

#include <jni.h>
using namespace std;

以红色下划线。

正确识别c ++的其余部分。

UPDATE2

当我向路径和包含添加$ {NDKROOT} / sources / cxx-stl / gnu-libstdc ++ / include时,已经包含了java语句。净矢量,我也尝试添加$ {NDKROOT} / sources / cxx-stl / stlport / stlport,但它还没有修复矢量问题。如果禁用错误检查,项目将编译,如果我发出synthax错误,编译器会发出警告。这对我来说没问题。

1 个答案:

答案 0 :(得分:4)

您可能首先可以在Project Properties|C/C++ General|Code Analysis中禁用错误​​,以便您的项目可以编译。

然后,您可以检查Project Properties|C/C++ General|Paths and Symbols中的包含路径是否正确。

我也听说过更新ADT插件可能有所帮助。