java - jni.h 在 cmake linux 期间没有这样的文件或目录?

标签 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 

没用

最佳答案

make(1) 命令上的 -I 标志仅影响由 .include 指令包含在 makefile 中的文件,而不影响编译器搜索的目录。为此,只需将 -I 标志传递给每个编译。一种方法是

$ make CFLAGS="-I/usr/lib/jvm/java-8-openjdk-armhf/includes"

您还可以从环境中传递CFLAGS,如

$ export CFLAGS=\""-I/usr/lib/..."\"  # escaped double quotes make them to be included in the string.
$ make

关于java - jni.h 在 cmake linux 期间没有这样的文件或目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42657970/

相关文章:

java - 如何显示用户在 JPanel 的 JTextField 中输入的内容?

java - 为什么我们需要在eclipse中作为远程服务器进行调试?

java - scala 迭代 java hashSet

c++ - 如何遵循调用自身的函数的流程?

c++ - 从模板化非类型模板参数推导模板参数

c++ - 请求解释数组中指针的行为

linux - 期望脚本在一定时间内等待特定输入

c++ - 如何中止 'close' TCP 连接?

java - 在 Windows 上使用 activator -jvm-debug 和 Java 8 调试 Play 2.3 RC1 可能吗?

linux - 如何在 RT Linux : fails with SIGTRAP 上使用 GDB 进行调试