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/

相关文章:

linux - 通过 cron 执行脚本时使用 Zend Lucene 的 PHP iconv 错误,但不在命令行上

linux - 使用 grep 搜索文件并仅输出部分行

java - 静态嵌套类不初始化外部类

java - 实际参数列表和形式参数列表的长度不同,但我不明白为什么

c++ - 基于类型的类的引用计数实例

c++ - 存在 Python 类型

c - 如何使 Tru64 Unix 中的 C 代码在 Linux 64 位中工作?

java - 如何在java中将 'unsigned long'转换为字符串

java - 在小程序中绘制 Canvas

c++ - 我可以指定模板参数应该是某个基类的子类吗?