我正在尝试使用Java和Kinect for Windows Sensor (不是OpenNI版本)开始使用Xbox2,但遇到了一些严重的问题。
虽然样例SimpleViewer程序运行正常,但我无法获得与run (SimpleViewer.java)等效的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中找到的所有库都放到了Tools文件夹中( Lib和Tools/OpenNI2/Drivers的内容),以防它找不到正确的依赖项。
java -Djava.library.path="C:/Program Files/OpenNI2/Tools" OpenNITest.SimpleViewerApplication我运行的是Windows7企业版,Java 1.7.0_21和OpenNI 2的最新版本。OpenNITest是我放置示例应用程序的文件夹和包的名称。
如果有人对解决这个问题有任何建议,我将不胜感激,因为我已经努力了3个小时,但仍然无法解决这个问题。
谢谢!
发布于 2013-06-13 21:33:13
最后让这个工作,添加以下内容并加载库OpenNI2.dll (目录到您机器上的任何位置或使用loadLibrary(),如果你想要一个相对路径),一切都会很顺利,只希望OpenNI包含了一个实际工作的Java示例!
static {
try {
System.load("C:\\Program Files\\OpenNI2\\Tools\\OpenNI2.dll");
}
catch (Exception e)
{
e.printStackTrace();
}
}https://stackoverflow.com/questions/17043161
复制相似问题