尝试为Android创建一个新的本机项目,但遇到了奇怪的问题。我创建了一个新项目,并选择了“Android工具>添加原生支持',然后在我按下Run eclipse后创建抱怨包括jni.h在内的一些问题。我检查了ADT正确设置了C / C ++路径和符号,看起来很好:
但是我在Eclipse的cpp代码中遇到了编译器错误。但奇怪的是,当我通过终端在项目上运行ndk-build时工作正常,见下文:
这里也是代码(jnitest.cpp):
#include <jni.h>
JNIEXPORT jstring JNICALL Java_com_brianrojas_jnitest_MainActivity_echo
(JNIEnv *env, jobject object, jstring input)
{
return input;
}
所以看起来这些库可以构建好但是Eclipse出于某种原因不喜欢它,并且不会在我的手机上安装应用程序。我有什么想法吗?下面是我的android eclipse插件信息,这有帮助。
答案 0 :(得分:5)
我知道可能出现的问题:Eclipse Juno
。
只需下载Eclipse Indigo就可以了。这是一个已知的错误。显然,如果你在Windows上开发它也会发生:
已知问题
- Eclipse不会自动查找Windows上所有NDK标头的包含路径。此问题将在下次更新中修复 (20.0.1)发布时。
- Eclipse不会自动找到CDT 8.1.0(Juno)的包含路径。 Bug 33788中会跟踪此问题。
醇>
答案 1 :(得分:0)
我有完全相同的问题。
(删除了困惑的建议)
编辑:我刚刚添加了新的包含目录,现在我对它的工作方式更有信心了:在修改项目属性/ C / C ++通用/路径和符号中的包含目录之后,Eclipse显示了一个对话框提供索引新的包含文件。接受并重新索引包含文件非常重要。