如何解决"无法找到JNI",在Raspberry Pi上构建OpenCV?

Dmi*_*hov 4 java linux java-native-interface opencv cmake

我尝试在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的文件.所以,我没有想法.如果你知道如何解决我的问题,请帮助我.

提前致谢!

梅德

小智 9

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

因此,在为管理员设置JAVA_HOME和ANT_HOME加PATH之后,cmake找到了ANT和JNI.

希望,它会帮助别人!

最好的祝福,

梅德