CMake 在新的 Mac mini 上运行时无法找到包 JNI。 cmake 配置文件适用于较旧的 MacBook Pro、Windows 和各种 Linux。以下是血淋淋的细节:
cmake version 3.26.3
java version "20.0.1" 2023-04-18
Java(TM) SE Runtime Environment (build 20.0.1+9-29)
Java HotSpot(TM) 64-Bit Server VM (build 20.0.1+9-29, mixed mode, sharing)
Darwin 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar 6 21:01:02 PST 2023;
root:xnu-8796.101.5~3/RELEASE_ARM64_T8112 arm64
JAVA_HOME /Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home
ls -l /Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/include/jni.h
-rw-r--r-- 1 root wheel 74986 Mar 7 09:13 /Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/include/jni.h
CMake Debug Log at /Applications/CMake.app/Contents/share/cmake-3.26/Modules/FindJNI.cmake:434 (find_path):
find_path called with the following settings:
VAR: JAVA_INCLUDE_PATH
NAMES: "jni.h"
Documentation: JNI include directory
Framework
Only Search Frameworks: 1
Search Frameworks Last: 0
Search Frameworks First: 0
AppBundle
Only Search AppBundle: 0
Search AppBundle Last: 0
Search AppBundle First: 1
CMAKE_FIND_USE_CMAKE_PATH: 1
CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1
CMAKE_FIND_USE_INSTALL_PREFIX: 1
find_path considered the following locations:
The item was not found.
而且,是的,我尝试将 CMAKE_FIND_FRAMEWORK 设置为“从不”,但没有任何效果。