【问题标题】:CMAKE add java libraries to cpp projectCMAKE将java库添加到cpp项目
【发布时间】:2018-03-30 17:37:55
【问题描述】:

我正在尝试构建一个可以从 c++ 调用 java 代码的应用程序。

这样我就可以写出这样的东西了

#include<jni.h>

然后做这样的事情How to access the Java method in a C++ application 我在将库添加到 CMakeLists.txt 时遇到问题 这就是我现在所拥有的:

cmake_minimum_required(VERSION 3.8)
project(test_cpp_jni)

set(CMAKE_CXX_STANDARD 11)    
include_directories("${JAVA_HOME}/include ${JAVA_HOME}/include/linux")

link_libraries(${JAVA_HOME}/jre/lib/amd64/server/libjvm.so)

set(SOURCE_FILES
    main.cpp
    wrapper/WrapperJNI.cpp
    wrapper/WrapperJNI.h)


add_executable(test_cpp_jni ${SOURCE_FILES})

target_link_libraries(test_cpp_jni ${JAVA_HOME}/jre/lib/amd64/server/libjvm.so)

我应该更正/添加什么来完成这项工作。 在此先感谢您的帮助

【问题讨论】:

标签: java c++ cmake


【解决方案1】:

您可以使用以下示例来解决您的问题:

find_package(JNI)
    if (JNI_FOUND)
        include_directories(SYSTEM ${JAVA_INCLUDE_PATH})
        include_directories(SYSTEM ${JAVA_INCLUDE_PATH2})
    endif()

if (JNI_FOUND)
    target_link_libraries(<example> ${JAVA_JVM_LIBRARY})
endif()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    相关资源
    最近更新 更多