2

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

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

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

该项目在以前的配置上运行良好。我相信我为 std 支持添加了一个库。

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

感谢您的帮助

更新我完全重新安装了我的sdk、eclipse(这次是juno)和所有插件。不用找了。错误检查不识别 java 和 std 相关的东西:

#include <jni.h>
using namespace std;

红色下划线。

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

更新2

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

4

1 回答 1

4

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

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

我还听说更新 ADT 插件可能会有所帮助。

于 2012-07-30T14:23:28.713 回答