gpt4 book ai didi

cmake find_package(JNI) 在 Ubuntu 12.04 amd64 中不起作用

转载 作者:行者123 更新时间:2023-12-04 00:08:50 25 4
gpt4 key购买 nike

我在 Ubuntu 12.04 amd64 上使用 cmake 2.8.7。下面列出了我系统中安装的 OpenJDK JRE 组件:

$ sudo dpkg --list | grep jdk
openjdk-6-jre 6b27-1.12.5-0ubuntu0.12.04.1 OpenJDK Java runtime, using Hotspot JIT
openjdk-6-jre-headless 6b27-1.12.5-0ubuntu0.12.04.1 OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-6-jre-lib 6b27-1.12.5-0ubuntu0.12.04.1 OpenJDK Java runtime (architecture independent libraries)

但是,我没有使用 OpenJDK JRE 组件。我已经手动安装了 Oracle Java 7 JDK
在“/usr/lib/jvm/jdk1.7.0_25”中,并使用“update-alternatives”将“java”指向我安装的 Oracle Java 7 JDK。我没有设置任何“JAVA_HOME”、“JAVA_BIN”、“CLASSPATH”环境变量,手动安装的 Oracle Java 7 JDK 在 Eclipse 4.3 中似乎工作正常。

问题是,当我在 cmake 中使用“find_package(JNI)”并使用“message()”函数来显示 JNI 变量时,我得到以下结果:
Could NOT find JNI (missing:  JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH) 
JNI_FOUND = FALSE
JNI_LIBRARIES = /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/libjawt.so;/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so
JAVA_INCLUDE_PATH = JAVA_INCLUDE_PATH-NOTFOUND
JAVA_INCLUDE_PATH2 = JAVA_INCLUDE_PATH2-NOTFOUND
JAVA_AWT_INCLUDE_PATH = JAVA_AWT_INCLUDE_PATH-NOTFOUND
JAVA_JVM_LIBRARY = /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so
JAVA_AWT_LIBRARY = /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/libjawt.so
JNI_INCLUDE_DIRS = JAVA_INCLUDE_PATH-NOTFOUND;JAVA_INCLUDE_PATH2-NOTFOUND;JAVA_AWT_INCLUDE_PATH-NOTFOUND

“find_package(JNI)”似乎可以找到一些与 OpenJDK JRE 相关的 Java 组件,但找不到我当前由“update-alternatives”指向的 Oracle Java 7 JDK 组件。

我想知道“FindJNI.cmake”文件中是否有任何错误以及我在 Oracle Java 7 JDK 设置中遗漏了什么,以便 cmake“find_package(JNI)”可以正常工作。

感谢您的任何建议。

最佳答案

您可以手动修改 FindJNI.cmake 以帮助它找到您安装的 JDK。
看到这个要点:

https://gist.github.com/emchristiansen/6845954

很遗憾这个脚本没有更新,但也许并不奇怪,因为 CMake 是一场灾难。

编辑:更直接的解决方案是设置 JAVA_HOME适本地。
安装 OpenJDK 7 后,我将其设置为:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

关于cmake find_package(JNI) 在 Ubuntu 12.04 amd64 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17636166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com