【发布时间】:2016-04-22 02:42:36
【问题描述】:
我有一个设计为在 Linux 环境中运行的 java 应用程序,使用 Opencv 和 Eclipse - Ubuntu 14.04 开发。它在 Eclipse 中运行良好,并在导出时生成一个 .jar。 .jar 程序在安装了 opencv 的系统上完美运行。
java -Dpath.java.library="/home/me/opencv/build/lib" -jar program.jar
安装 opencv 的库包含所有 so 文件和指向 so 文件的链接,当我在 libopencv_java310.so 上执行 ldd 时,它会显示所有关联的 so 文件/链接。
但是在没有安装opencv的机器上:
我已经能够携带库并使用 ln 命令创建所有链接,但是我仍然得到 p>
java.lang.unsatifiedlinkerror: /my/lib/libopencv_java310.so: libopencv_core.so.3.1:无法打开共享对象文件:没有这样的文件或 目录
我在libopencv_java310.so 上做了一个ldd,结果是libopencv_core.so.3.1 => 未找到-opencv 库中的几个未找到之一。
链接 libopencv_core.so.3.1 与所有其他正确的链接文件及其对应的 so 文件一起位于目录中。我在这里想念什么?我知道我需要获取 libopencv_java310.so 才能找到链接,但我不知道如何。
本练习的最终目的是制作一个自包含的可执行文件、.jar 或 lib 文件和 .jar 的组合以分发给 linux 环境中的最终用户。
【问题讨论】:
标签: java c++ linux eclipse opencv