java - Eclipse 上的 Android 原生 c++ - 在 stdlib 上给出错误,但可以工作

标签 java android c++ eclipse debugging

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

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

所以我将 eclipse 中的项目切换为“在 android 中添加 native 代码”。现在它可以调试我的 C++ 代码,但每次我使用任何 std 组件(例如 vector )时都会出现错误,因此我无法运行该代码,因为它包含错误。

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

知道如何正确调试我的 native 代码吗?

感谢您的帮助

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

#include <jni.h>
using namespace std;

带有红色下划线。

C++ 的其余部分可以正确识别。

更新2

当我将 ${NDKROOT}/sources/cxx-STL/gnu-libstdc++/include 添加到路径和包含时,java 语句已包含在内。 Net vector 还没有,我还尝试添加 ${NDKROOT}/sources/cxx-STL/STLport/STLport 但它还没有解决 vector 问题。如果禁用错误检查,项目会编译,如果我犯了合成错误,编译器会警告我。这对我来说没问题。

最佳答案

您可能可以首先在项目属性|C/C++ 常规|代码分析中禁用错误​​,以便您的项目能够编译。

然后您可以检查项目属性|C/C++ 常规|路径和符号中的包含路径是否正确。

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

关于java - Eclipse 上的 Android 原生 c++ - 在 stdlib 上给出错误,但可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11723210/

相关文章:

java - 自定义SeekBar : set min value

java - 如何使用 Hibernate 从 JSON 数据动态创建表

java - 沿 Activity 右侧平铺图像

java - 如何从 "API URL"隐藏 "API KEY"和 "ApiResources.java"

android - 从嵌套的 PreferenceScreen 返回时更改摘要

c++ - 我无法使用模板编译此代码

java - rs.getString() 是否返回字符串类型?这段代码有什么问题?

java - Android中strings.xml字符串中的粗体字

c++ - Eigen,RowXpr 的函数

c++ - 不知道如何正确使用 IShellWindows::Item