jni.h在cmake linux中没有这样的文件或目录?

时间:2017-03-07 20:43:51

标签: java c++ linux opencv

我一直在尝试为linux制作opencv,我使用了cmake参数:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D WITH_OPENCL=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_SHARED_LIBS=OFF -D JAVA_INCLUDE_PATH=$JAVA_HOME/include -D JAVA_AWT_LIBRARY=$JAVA_HOME/jre/lib/amd64/libawt.so -D JAVA_JVM_LIBRARY=$JAVA_HOME/jre/lib/arm/server/libjvm.so -D CMAKE_INSTALL_PREFIX=/usr/local

它生成的文件很好。

当它生成opencv-jar时它接近81%,而它已加入

/home/pi/Desktop/opencv-3.1.0/modules/java/generator/src/cpp/common.h:8:17 fatal error jni.h No such file or directory

因此,我不确定现在该怎么做。 openjdk也正确安装

编辑:我尝试使用-I标志,执行命令

make -I/usr/lib/jvm/java-8-openjdk-armhf/includes 

无济于事

2 个答案:

答案 0 :(得分:0)

for i, n in df.groupby('Number'): print (i) print (n[['Param1','Param2','Param3']]) #for output as nested lists #print (n[['Param1','Param2','Param3']].values.tolist()) 1 Param1 Param2 Param3 0 0 0.179264 0.565864 2 2 0.799988 0.855600 7 7 0.018789 0.393464 2 Param1 Param2 Param3 1 1 0.374258 0.985103 5 5 0.611886 0.712429 12 12 0.474427 0.104224 3 Param1 Param2 Param3 3 3 0.237612 0.290065 4 4 0.195463 0.232030 11 11 0.902660 0.670725 4 Param1 Param2 Param3 6 6 0.178465 0.056347 9 9 0.149801 0.590501 10 10 0.112857 0.327013 5 Param1 Param2 Param3 8 8 0.549566 0.457160 13 13 0.691259 0.620992 14 14 0.043179 0.028890 命令上的-I标志仅影响make(1)指令包含在makefile中的文件,而不影响编译器搜索的目录。为此,只需将.include标志传递给每个编译。一种方法是

-I

您也可以从环境中传递$ make CFLAGS="-I/usr/lib/jvm/java-8-openjdk-armhf/includes" ,如

CFLAGS

答案 1 :(得分:0)

请检查:https://stackoverflow.com/a/67154438/1290868

FindJNI

find_package(JNI)

if (JNI_FOUND)
    message (STATUS "JNI_INCLUDE_DIRS=${JNI_INCLUDE_DIRS}")
    message (STATUS "JNI_LIBRARIES=${JNI_LIBRARIES}")
endif()