我正在使用Android NDK,但JNI文件夹中的.c文件显示未解决的包含错误,如图所示:请帮助我解决此问题。我已经尝试了几乎所有我能在互联网上找到但无法解决的问题。对于C / C ++项目,我可以使用构建路径\ paths和symbols选项来解决包含问题,但对于android项目,此选项在项目属性中不可用。
答案 0 :(得分:7)
这是ADT插件中的一个错误(或者更确切地说,它听起来与Eclipse的新版CDT不兼容)在此处记录的Windows上:http://code.google.com/p/android/issues/detail?id=33788
可以预览新版本,修复此处描述的问题:http://tools.android.com/download/adt-21-preview#TOC-Installation
以下是解决问题所需要做的事情:
可能通过编辑适当的项目文件而不是重新创建来完成#3,但由于我处于开发的早期阶段,所以我没有尝试过。
答案 1 :(得分:6)
有同样的问题,通过修复项目属性中的路径( C / C ++ General / Paths和Symbols / Includes )来解决它:
$ {NDKROOT} /来源/ CXX-STL / GNU-的libstdc ++ /包括
为:
$ {NDKROOT} /来源/ CXX-STL / GNU-的libstdc ++ / 4.6 /包括
答案 2 :(得分:4)
Android NDK项目 - >新 - >文件夹 - >高级 - >链接到备用位置(链接文件夹) 浏览器路径(例如):C:\ cygwin \ lib \ gcc \ i686-pc-cygwin \ 3.4.4 \ include。路径取决于您使用的cygwin的版本。
答案 3 :(得分:1)
在当前的Android NDK(修订版10e)中,文件夹gnu-libstdc++/4.6
不存在 - 您必须更改Eclipse构建包含路径:
项目 - 属性 - C / C ++一般 - 路径和符号 - 包括 - GNU C,GNU C ++
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.6/libs/armeabi-v7a/include
更改为:
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.8/include
${NDKROOT}/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/include
答案 4 :(得分:0)
我能在项目中找到的唯一工作就是禁用Eclipse Preferences -> General -> Editors -> Text Editors -> Annotations -> C/C++ Indexer Markers.
中的#include警告
由于C / C ++项目首选项未显示在Android项目中,因此我无法输入NDK代码的包含目录。
答案 5 :(得分:0)
1个关闭项目。在另一个编辑器中打开.project。删除以下内容:
......
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
......
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
......
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
2删除.cproject
在eclipse中打开3个项目,刷新。右键单击,属性 - &gt; Android工具 - &gt;添加本机支持。解决了,现在我们可以按住ctrl +点击打开链接。4如果方法和符号仍然显示未解决,您可以尝试:转到项目的属性 - &gt; C / C ++一般 - &gt;代码分析。点击&#34;使用项目设置&#34;单选按钮(或&#34;配置工作区设置...&#34;按钮)。禁用(取消选中)&#34;方法无法解析&#34;复选框。