【发布时间】:2016-05-05 05:49:05
【问题描述】:
我正在尝试在 Raspbian 上安装 OpenCV,以便可以将我的 Java 代码部署到 RPi。然而,让 cmake 查找 JNI 被证明是一项令人讨厌的任务。这里回答的一个问题指出,管理员也需要设置 JAVA_HOME,而不仅仅是用户。所以我将它设置在 /etc/environment 以及之前在 .bashrc 中的设置。
How to resolve "Could not find JNI", building OpenCV on Raspberry Pi?
但是,cmake 仍然找不到 JNI,即使在我更新它以找到如下所述的 Include 目录之后;
cmake find_package(JNI) not work in Ubuntu 12.04 amd64
我尝试了许多不同的组合,包括 Java 安装和环境设置,虽然它在 /opt/java 中解压缩 java 并建议将 JAVA_HOME 设置为那里;
http://elinux.org/RPi_Java_JDK_Installation
相关的 FindJNI.cmake 行包括;
SET(JAVA_AWT_INCLUDE_DIRECTORIES
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
${_JAVA_HOME}/include
/usr/include
/usr/local/include
/usr/lib/java/include
/usr/local/lib/java/include
/usr/lib/jvm/jdk-7-oracle-armhf/include <-- Added by me
和
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
${_JAVA_HOME}/jre/lib/{libarch}
${_JAVA_HOME}/jre/lib
${_JAVA_HOME}/lib
${_JAVA_HOME}
/usr/lib
/usr/local/lib
/usr/lib/jvm/java/lib
/usr/lib/java/jre/lib/{libarch}
/usr/lib/jvm/jdk-7-oracle-armhf
/usr/lib/jvm/jdk-7-oracle-armhf/lib
/usr/lib/jvm/jdk-7-oracle-armhf/lib/{libarch}
/usr/lib/jvm/jdk-7-oracle-armhf/{libarch}
相关的 OpenCV 安装脚本行包括;
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=OFF -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON WITH_QT=ON -D WITH_OPENGL=ON ..
make -j 8
sudo make install
Cmake 输出包括;
-- 找不到 JNI(缺少:JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY)
cmake 未知系统,创建:Platform/error pid:6186, boost::interprocess::bad_alloc Linux 使用这个系统,请发送 你的配置文件到 cmake@www.cmake.org 所以
我不知道在可以使用 Java 的 Raspbian 上加载 OpenCV 的更多线索 - 我还需要做什么?
【问题讨论】:
标签: java opencv cmake environment-variables raspberry-pi