【问题标题】:Cannot find dependent libraries for openni2.jni - OpenNI 2, Java, Kinect For Windows找不到 openni2.jni 的依赖库 - OpenNI 2、Java、Kinect For Windows
【发布时间】:2013-06-11 11:38:48
【问题描述】:

我正在尝试使用 Java 和 Kinect for Windows Sensor(不是 Xbox 版本)开始使用 OpenNI 2,但遇到了严重问题。

虽然示例 SimpleViewer 程序正常运行,但我无法让 Java 等效程序运行 (SimpleViewer.java)。在我将 org.openni.jar 添加到我的类路径后,它成功编译,但是在尝试运行该程序时,我遇到了以下错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Program Files\Open
NI2\Tools\OpenNI2.jni.dll: Can't find dependent libraries
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary1(Unknown Source)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at org.openni.NativeMethods.<clinit>(NativeMethods.java:44)
    at org.openni.OpenNI.initialize(OpenNI.java:113)
    at OpenNITest.SimpleViewerApplication.main(SimpleViewerApplication.java:

190)

在阅读了类似的问题后,我尝试了以下方法来尝试解决问题,我将在 OpenNI 中找到的几乎所有库都放入了工具文件夹(Lib 和工具/OpenNI2/驱动程序的内容)以防万一'没有找到正确的依赖关系。

java -Djava.library.path="C:/Program Files/OpenNI2/Tools" OpenNITest.SimpleViewerApplication

我正在运行 Windows 7 企业版、Java 1.7.0_21 和最新版本的 OpenNI 2。OpenNITest 是我放置示例应用程序的文件夹和包的名称。

如果有人对尝试解决此问题有任何建议,我将不胜感激,因为我已经解决了 3 个小时,但仍然无法解决它。

谢谢!

【问题讨论】:

    标签: java kinect openni


    【解决方案1】:

    终于完成了这项工作,添加以下内容并加载库 OpenNI2.dll(目录到您机器上的任何位置,或者如果您想要相对路径,请使用 loadLibrary()),一切都会很愉快,只希望 OpenNI 包含一个实际工作的 Java 示例!

    static {
        try {
            System.load("C:\\Program Files\\OpenNI2\\Tools\\OpenNI2.dll");
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
    

    【讨论】:

    • java 上的 -D 选项现在也可以去掉了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-05
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多