簡體   English   中英

CMake cannot find Java on Linux “Could NOT find Java (missing: Java_JAVAH_EXECUTABLE)”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM