这真的令人沮丧 - 我可以从命令行构建我的本机代码,但是当我从 eclipse(启用 Sequoyah 插件)构建时,它只是通过简单的编译错误(如找不到标头)......即使当我从命令行构建库时每次我尝试从 Eclipse 运行时,它都会重新构建并再次出现错误 - 我很沮丧,因为我没有找到问题的选择,有人能对此有所了解吗?
1 回答
您看到的错误是在 Eclipse 的编辑器找不到的每个标头中带有错误标记的未解决包含。当您看到它时会感到困惑,因为预计在安装 Sequoyah 和 ADT 后,将 Sequoyah 配置指向您的 NDK,您将拥有开始编码所需的一切。
有两件事要观察。在您单击 jni 目录中的 C/C++ 文件之一之前,ADT“Android Perspective”中的构建过程将一直有效。打开其中之一后,您将看到错误标记,并且该项目将被标记为包含错误。
第二个观察,当您将项目转换为 C/C++ 透视图或 Sequoyah 的 Android Native 透视图时(显然有两种方法可以给这只猫蒙皮),您将能够围绕 NDK 工具链、包含路径和构建器设置配置项目设置. 您可以在此处将 ndk-build 设置为在每次更改时自动触发。有趣的是,在您单击其中一个 C/C++ 源之前,ndk-build 将正常工作。
所以解决方案,点击[这里] http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.cdt.doc.user/tasks/cdt_t_proj_paths.htm你会得到配置的说明CDT 包含路径。您想为 C/C++(或两者之一)设置包含路径,以便访问平台文件夹包含。
例如,我的项目 hello-jni-to-the-world 项目设置为 android-9。所以配置包含路径: android-ndk-r6b/platforms/android-9/arch-arm/usr/include 。现在魔法不会出现,直到您单击应用/保存并且系统会提示您重建索引。
Stackoverflow 上有两到三个其他线程在问同样的问题,我必须找到它们并将它们添加到评论中。基本上,没有明确的答案,而且有很多通常用一个问题来回答一个问题:你有哪个版本的 NDK,你可以发布你的代码,你是否安装了 java,你的计算机是否开启?