[英]CMake cannot find Java on Linux “Could NOT find Java (missing: Java_JAVAH_EXECUTABLE)”
我遇到了 CMake 錯誤,提示找不到 Java(我認為是 JDK?):
Could NOT find Java (missing: Java_JAVAH_EXECUTABLE) (found version
"1.8.0_181")
但是,當我運行時:
which javac
我得到:
/bin/javac
但設置:
export JAVA_HOME=/bin/javac
並且重新編譯並不能解決問題。
有人遇到過這個嗎?
看起來 cmake 正在尋找javah
而不是javac
。 您使用的是 Java 1.8,因此您應該安裝 javah。 (它已在以后的版本中被刪除,而不是javah
你應該使用javac -h
)
確保 cmake 可以通過設置 JAVA_HOME 找到 javah 工具,使其指向 Java 8 安裝目錄(通常在 ZEDC9F0A5A5D577973818E37367 系統上的 /usr/lib/jvm 下)
我遇到了同樣的問題,但原因不同。 我在下面發布我的問題和解決方案,希望節省其他人的故障排除時間。
問題:
CMake
報告了一個很像線程標題的錯誤:
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
Could NOT find Java (missing: Java_JAVAH_EXECUTABLE) (found version
"11.0.7")
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake/Modules/FindJava.cmake:191 (find_package_handle_standard_args)
CMakeLists.txt:20 (find_package)
分析:
查看文件/usr/share/cmake/Modules/FindJava.cmake
。 發現_JAVA_HINTS
和_JAVA_PATHS
不包括我的java版本。
解決方案:
使用支持我的 java 版本的新版本CMake
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.