如何解决“找不到JNI”,在Raspberry Pi上构建OpenCV?

问题描述:

我尝试在Raspberry Pi(Debian 4.6.3)上使用Java构建opencv,并且每次都从cmake获取错误:无法找到JNI(缺少: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)。我一直在互联网上寻找解决方案。建议设置JAVA_HOME变量,安装ant,安装python,将$ {JAVA_HOME}/bin变量添加到PATH变量中,将JDK_HOME变量设置为我的jdk1.8.0主页。不幸的是,还没有什么帮助我。我尝试了一切,甚至尝试从Raspberry Pi中彻底删除opencv(2.4.6.1),下载另一个版本(2.4.6),并用cmake构建它 - 没有任何工作。我在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 /”中找到。我检查了这个文件,我有它;如果我在shell中键入“ls $ JAVA_HOME/include”,我会在其中获得包含jni.h的文件。所以,我没有想法。请帮助我,如果你知道如何解决我的问题。如何解决“找不到JNI”,在Raspberry Pi上构建OpenCV?

在此先感谢!

梅德

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

所以,我为管理员设置JAVA_HOME和ANT_HOME加PATH后,cmake已!发现ANT和JNI

希望,这将帮助别人

最好的问候,

梅德

我对亚马逊EC2这个问题,并解决它:

sudo yum install java-1.7.0 -openjdk-devel