sri*_*ith 7 c java-native-interface opencv
这是我的java文件,我想为android opencv应用程序使用javah生成头文件.
package com.hosa;
public class edgejava{
static{
System.loadLibrary("edgejava");
}
public native int main(``);
}
Run Code Online (Sandbox Code Playgroud)
生成的头文件如下.
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class com_hosa_edgejava */
#ifndef _Included_com_hosa_edgejava
#define _Included_com_hosa_edgejava
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: com_hosa_edgejava
* Method: main
* Signature: ()I
*/
JNIEXPORT jint JNICALL Java_com_hosa_edgejava_main
(JNIEnv *, jobject);
#ifdef __cplusplus
}
#endif
#endif
Run Code Online (Sandbox Code Playgroud)
eclipse指出在头文件中包含jni.h是未解决的.解决这个问题需要采取的步骤是什么?
问候,srijith
Idi*_*tic 26
我也遇到过这个问题所以对于那些偶然发现这个问题的人来说......
我从日食中解决了JNI问题 - 你可能已经完成了第1步或类似的事情
文件 - >新建 - >其他 - > C++>转换为C++项目
点击Project Head - > Properties - > C++ General - > Paths And Symbols
在GNU和GNUC++语言条目下添加类似于此的路径
/ NDK /平台/ Android的9 /弓形臂的/ usr /包括
您的路径将根据您的设置方式,平台编号等而有所不同.
完成后,在提示时重建索引
关闭你的项目,重新打开它,然后清理构建(或者它可能立即发生)
在我的情况下,然后发现JNI.h但是JNIEnv等仍然无法识别,即使它们在JNI.h文件中.
还要注意任何有此问题的人都不会阻止你构建,你只需要关闭有问题的文件,然后打开和关闭你的项目以摆脱错误(多么痛苦)
更新:固定!
在Indigo版本中,从菜单/对话框中执行以下操作
Window-> Preferences-> C/C++ - >索引检查"Index Unused Headers"如果需要,可以重新索引/构建
您可能还需要添加"/NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include"上面有我上面提到的到语言条目.
现在所有的符号都被认出来了 - 希望这能帮助一些让我疯狂的人.
归档时间: |
|
查看次数: |
20366 次 |
最近记录: |