我在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
有什么东西我忘了在月食中设置了吗?
发布于 2012-02-21 11:27:40
您必须将path添加到STL到项目设置中,以便Eclipse也对其进行索引。项目->属性->C/C++通用->包括。以下是我补充的内容:
<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发布于 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应用程序。
https://stackoverflow.com/questions/9375708
复制相似问题