如何使用 Javacpp 预设二进制文件

Posted

技术标签:

【中文标题】如何使用 Javacpp 预设二进制文件【英文标题】:How to use Javacpp presets binaries 【发布时间】:2017-04-04 13:06:35 【问题描述】:

我正在尝试使用 javacpp-presets 二进制文件从 Java 访问 librealsense 库。我该如何使用它们?在 github 页面上,它说除了 javacpp.jar 之外,将所有所需的 JAR 文件(opencv*.jar、ffmpeg*.jar 等)放在我的类路径中的某个位置就足够了。

我运行了以下命令并得到了这些结果:

$ javac -cp javacpp-presets-bin/javacpp.jar:javacpp-presets-bin/librealsense.jar TestConnection.java
$ java -jar javacpp-presets-bin/javacpp.jar TestConnection
Warning: Could not load platform properties for class TestConnection
$ java -cp javacpp-presets-bin/javacpp.jar:javacpp-presets-bin/librealsense.jar:. TestConnection
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jniRealSense in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:804)
    at org.bytedeco.javacpp.Loader.load(Loader.java:613)
    at org.bytedeco.javacpp.Loader.load(Loader.java:530)
    at org.bytedeco.javacpp.RealSense.<clinit>(RealSense.java:10)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at org.bytedeco.javacpp.Loader.load(Loader.java:585)
    at org.bytedeco.javacpp.Loader.load(Loader.java:530)
    at org.bytedeco.javacpp.RealSense$context.<clinit>(RealSense.java:1566)
    at TestConnection.main(TestConnection.java:8)
Caused by: java.lang.UnsatisfiedLinkError: no realsense in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:804)
    at org.bytedeco.javacpp.Loader.load(Loader.java:604)
    ... 8 more

我的工作目录:

.
├── javacpp-bin
├── javacpp-presets-bin
├── TestConnection.class
└── TestConnection.java

感谢任何帮助。

【问题讨论】:

【参考方案1】:

我应该使用 librealsense-platform.jar

$ javac -cp javacpp-presets-bin/javacpp.jar:javacpp-presets-bin/librealsense-platform.jar TestConnection.java
$ java -jar javacpp-presets-bin/javacpp.jar TestConnection
$ java -cp javacpp-presets-bin/javacpp.jar:javacpp-presets-bin/librealsense-platform.jar:. TestConnection

【讨论】:

以上是关于如何使用 Javacpp 预设二进制文件的主要内容,如果未能解决你的问题,请参考以下文章

游戏开发实战Unity逆向怀旧经典游戏《寻秦OL》,解析二进制动画文件生成预设并播放(资源逆向 | 二进制 | C#)

游戏开发实战Unity逆向怀旧经典游戏《寻秦OL》,解析二进制动画文件生成预设并播放(资源逆向 | 二进制 | C#)

如何为基于文档的核心数据应用程序的保存对话框预设文件格式到 sqlite?

CLI 服务

CLI 服务

java.lang.UnsatisfiedLinkError /tmp/javacpp94368173067/libopencv_core.so.2.4:无法打开共享对象文件:没有这样的文件或目录