我尝试在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 home。不幸的是,还没有任何帮助我。我尝试了一切,我甚至尝试从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 with 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的文件。所以,我没有想法。如果你知道如何解决我的问题,请帮助我。
提前致谢!
梅德
答案 0 :(得分:9)
我终于找到了问题的解决方案,所以我自己回答。 事实证明,cmake检查Raspberry Pi上的Administrator系统变量,遗憾的是,我只为我的用户(而不是管理员)设置了JAVA_HOME和ANT_HOME。 似乎如果我更改文件/ etc / Profile,更改将不会涉及管理员,我不知道: - (
因此,在为管理员设置JAVA_HOME和ANT_HOME加PATH之后,cmake找到了ANT和JNI。
希望,它会对某人有所帮助!
致以最诚挚的问候,
梅德
答案 1 :(得分:1)
我在亚马逊EC2上遇到了这个问题并用以下方法解决了这个问题:
sudo yum install java-1.7.0-openjdk-devel