首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将STL与Android结合使用时发生的Eclipse索引器错误

将STL与Android结合使用时发生的Eclipse索引器错误
EN

Stack Overflow用户
提问于 2012-02-21 10:15:38
回答 2查看 10K关注 0票数 12

我在Ubuntu上使用Android r7和eclipse。我将我的java项目设置为使用C++特性。我在C++端使用STL,所以我添加了

APP_STL := gnustl_static

在Application.mk文件中。

ndk-构建成功编译我的代码和创建一个共享对象。

然而,eclipse索引器抱怨缺少STL符号。例如

“方法‘'push_back’无法解析”“符号‘向量’无法解析”

只有在编辑器中打开C++文件时才会发生这种情况。最终eclipse不会创建我的apk。我向使用ndk (属性=> C/C++通用=>代码Analasys => path和符号)移位的gnu头添加了Path:

android-ndk-r7/sources/cxx-stl/gnu-libstdc++/include android-ndk-r7/sources/cxx-stl/gnu-libstdc++/include/bits

当前的解决方法是关闭打开的C++文件以使eclipse高兴。

有趣的是,eclipse索引器可以很好地处理

android-ndk-r7/platforms/android-14/arch-arm/usr/include

有什么东西我忘了在月食中设置了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-21 11:27:40

您必须将path添加到STL到项目设置中,以便Eclipse也对其进行索引。项目->属性->C/C++通用->包括。以下是我补充的内容:

代码语言:javascript
复制
<path_to_NDK>/sources/cxx-stl/gnu-libstdc++/include
<path_to_NDK>/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/include
<path_to_NDK>/platforms/android-9/arch-arm/usr/include
票数 24
EN

Stack Overflow用户

发布于 2013-04-03 08:18:03

有些人通过将__GXX_EXPERIMENTAL_CXX0X__添加到smart pointers not working with Android NDK r8中来解决这个问题,就像"smart pointers not working with Android NDK r8“中提到的那样。但这在Eclipse的某些版本中不起作用,比如my (EclipseJunoV4.2)。

因此,作为一种解决方案,我使用了-> C/C++ ->代码分析,然后将一些问题的严重性从错误更改为警告,因为我正在使用NDK编译代码,因此这些只会影响Indexer。我更改了“符号未解决”,它修复了我的错误,但您可能还需要更改其他一些错误。一开始,它没有为我修复错误,直到我关闭&重新打开C++文件。右键单击您的项目并选择“索引->重建”也可能有助于刷新它。

现在,Eclipse将这些行突出显示为警告,并允许我继续构建、运行和调试我的NDK应用程序。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9375708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档