首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解析'jint‘类型,而JNIEnv,jclass

无法解析'jint‘类型,而JNIEnv,jclass
EN

Stack Overflow用户
提问于 2012-07-26 09:49:54
回答 3查看 17.8K关注 0票数 17

尝试用jni c代码构建一个简单的helloWorld android/java应用程序。我在Windows 7上使用Eclipse。在一个非空间路径中安装了ndk r8,最后用ndk-build.cmd构建c库。但是,javah生成的头文件有未解决的错误,

  • 无法解析“jint”类型
  • 无法解析“JNIEnv”类型
  • 无法解析“jclass”类型

昨天它没有看到jni.h包含,但是在今早重新启动之后,这个错误已经消失了。我也有一个未解决的JNIEXPORT和JNICALL错误,但是#定义它们似乎解决了这个问题。被困在上面最后的3点上。已经搜索过google和Stack溢出的答案,但是一旦有人找到了解决方案,他们就不会说那个解决方案是什么:

我已经检查了java和项目属性中的c/c++透视图中的包含。它似乎包括我想要的jni.h目录,我在arm平台上使用android-14。目标是一个4.0.3 IceCream Sanwich (令人困惑的是API 15?!)。我要试着用AVD测试这个。我尝试过关闭/重新打开项目,从Eclipse中删除并重新启用,但这些都没有效果。

我是不是漏掉了一些东西?我应该把它们设置在什么地方?会很感激你的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-24 15:50:42

最近我也遇到了同样的问题。在我的例子中,问题在于我将Eclipse转换为C++项目,但我使用了C类型。因此,为了解决这个问题,我从项目目录中删除了<nature>org.eclipse.cdt.core.ccnature</nature>文件中的行.project

代码语言:javascript
复制
<natures>
 <nature>com.android.ide.eclipse.adt.AndroidNature</nature>
 <nature>org.eclipse.jdt.core.javanature</nature>
 <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>
 <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature>
</natures>

然后重新启动Eclipse。有关更多信息,您可以阅读

票数 17
EN

Stack Overflow用户

发布于 2013-08-05 12:37:44

右击“项目”并转到“属性”属性。

转到C/C++通用->路径和符号

中,包含->GNU添加相当于以下内容的内容:

%ndkroot%\platforms\android-8\arch-arm\usr\include

您可能希望指向NDK的其他平台版本,只需更改android-8部分路径。

票数 19
EN

Stack Overflow用户

发布于 2012-08-25 12:52:07

尝试在#undef __cplusplus指令之前添加一个#include,如下所示:

代码语言:javascript
复制
#undef __cplusplus
#include <string.h>
#include <jni.h>

这将迫使Eclipse考虑NDK对象的non-c++定义。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11666711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档