我正在 CLion 中建立一个 C++17 项目,我想使用 Java native 接口(interface),但问题来了。 FindJNI.cmake 失败并出现错误:
找不到 JNI(缺少:JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2)
我尝试使用以下方法在我的 CMakeLists.txt 中手动设置 JAVA_INCLUDE_PATH:
set(JAVA_INCLUDE_PATH "$ENV{JAVA_HOME}/include")
(与 PATH2 相同),它只部分解决了问题,因为 cmake 输出是 Found JNI:/usr/lib/jvm/default/lib/amd64/libjawt.so
我的 CMakeLists.txt
cmake_minimum_required(VERSION 3.14)
project(project1)
set(CMAKE_CXX_STANDARD 17)
find_package(JNI REQUIRED)
add_executable(project1 main.cpp)
注意:我将 JAVA_HOME 设置为 /usr/lib/jvm/java-8-openjdk
并从 AUR 安装了 java-8-openjdk 包。
你试过用这个添加包含吗
include_directories( ${CMAKE_JAVA_} $ENV{JAVA_HOME}/include $ENV{JAVA_HOME}/include/linux )
我是一名优秀的程序员,十分优秀!