如何解决“找不到JNI”,在树莓派上build立OpenCV?

我尝试在Raspberry Pi(Debian 4.6.3)上使用Java构buildopencv,并从cmake获取每一个错误:无法findJNI(缺less:JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)。 我使用这个文档( http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html#sbt-project-for-java-and-scala )。 我一直在互联网上寻找解决scheme。 build议分别设置JAVA_HOMEvariables,安装ant,安装python,将$ {JAVA_HOME} / binvariables添加到PATHvariables中,将JDK_HOMEvariables设置为我的jdk1.8.0首页。 不幸的是,没有任何帮助我。 我尝试了一切,甚至尝试从树莓派中彻底删除opencv(2.4.6.1),下载另一个版本(2.4.6),并用cmake构build – 没有任何工作。 我在Raspberry Pi上有两个jre:一个(可能)预装了“Java-6-openjdk-armhf”,一个是我自己安装的“Java Early Access”(jdk1.8.0 – 特别适用于Raspbian的hardfloat)。 我试图将JAVA_HOME设置为“/home/pi/java/jdk1.8.0”(我安装了“Java Early Access”)和“/home/pi/java/jdk1.8.0/”,问题似乎是cmake找不到jni.h文件,通常可以在“JAVA_HOME / include /”中find。 我检查了这个文件,我有它; 如果我在shell中键入“ls $ JAVA_HOME / include”,我会在其中获得带有jni.h的文件。 所以,我没有想法。 请帮助我,如果你知道如何解决我的问题。

提前致谢!

梅德

我终于找到了我的问题的解决方案,所以我自己回答。 事实证明,cmake检查树莓派管理员的系统变量,不幸的是,我只为我的用户(不是管理员)设置JAVA_HOME和ANT_HOME。 看来,如果我更改文件/ etc / Profile,这些更改将不会涉及管理员,我不知道:-(

所以,在为Administrator设置了JAVA_HOME和ANT_HOME + PATH之后,cmake找到了ANT和JNI。

希望它会帮助别人!

最好的祝福,

梅德

我有这个问题在亚马逊EC2和解决它:

sudo yum安装java-1.7.0-openjdk-devel