【问题标题】:How to resolve "Could not find JNI", building OpenCV on Raspberry Pi?如何解决“找不到 JNI”,在 Raspberry Pi 上构建 OpenCV?
【发布时间】:2016-05-03 22:38:30
【问题描述】:

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

提前致谢!

德米特里

【问题讨论】:

    标签: java linux opencv java-native-interface cmake


    【解决方案1】:

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

    所以,在我为管理员设置了 JAVA_HOME 和 ANT_HOME 加上 PATH 之后,cmake 找到了 ANT 和 JNI。

    希望对某人有所帮助!

    最好的问候,

    德米特里

    【讨论】:

      【解决方案2】:

      我在亚马逊 EC2 上遇到了这个问题,并通过以下方式解决了它:

      sudo yum install java-1.7.0-openjdk-devel

      【讨论】:

        猜你喜欢
        • 2015-06-15
        • 2013-12-07
        • 2021-04-16
        • 2019-12-08
        • 1970-01-01
        • 2017-04-01
        • 1970-01-01
        • 2015-01-12
        • 1970-01-01
        相关资源
        最近更新 更多