2012-04-17 99 views
1

这真的令人沮丧 - 我可以从命令行构建我的本地代码,但是当我从eclipse(Sequoyah插件启用)构建它时,只需通过简单的编译错误找不到头文件... EVen当我从命令行构建库时,每次我尝试从eclipse运行它重新生成并且再次出现错误 - 我很沮丧,因为我没有足够的选项来找到问题 可以有一个对此有所了解。sequoyah编译错误,但从命令行编译错误

回答

1

您看到的错误是未解决的包含错误标记位于Eclipse编辑器无法找到的每个标头处。当你看到它时,这是令人困惑的,因为预计安装Sequoyah和ADT后,将Sequoyah配置指向你的NDK,你会拥有开始编码所需的一切。

两件事情要观察。在ADT“Android透视图”中构建的过程将一直运行,直到您点击jni目录中的一个C/C++文件。一旦你打开其中一个,你会看到错误标记,项目将被标记为包含错误。第二种观察,当你将项目转换为C/C++透视图或者Sequoyah的Android Native透视图(显然有两种方法为这只猫蒙皮),你将能够配置NDK工具链的项目设置,包括路径和构建器设置。这是您可以将ndk-build设置为在每次更改时自动触发的位置。而有趣的是,ndk-build会正常工作,直到你点击你的C/C++源代码。

所以解决方法,点击[here] 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。现在魔术不会显示,直到你点击apply/save,你会被提示重建索引。

Stackoverflow上有两到三个其他线程提出相同的问题,我必须找到它们并将它们添加到注释中。基本上,没有明确的答案,并且有很多通常回答问题的问题:你有哪个版本的NDK,你可以发布你的代码,你安装了java,是你的电脑吗?

+0

@ ruedat101:然而我通过重建索引解决了这个问题,但是对于我的朋友,即使在重建索引后也会出现这些错误,但是我看到了您的答案逻辑。我正在使用ndk rb7是安装了Java,而我正在使用OSX Lion – Shri 2012-05-23 18:35:16

+1

Shrini - 最后一段中的问题实际上是作为无用诊断的一个例子,我在其他帖子中找到了关于这个相同问题的例子。很高兴它的工作。请记住,如果包含路径是为C++添加的,而不是为C,则您的朋友可能会看到问题。取决于本机代码是C还是C++。可能要求朋友仔细检查一下。 – truedat101 2012-05-25 17:01:21