我写了这么简单的代码:
public class Test {
public static void main(String args[]) {
OculusRift oculusRift = new OculusRift();
oculusRift.init();
HMDInfo hdmInfo = oculusRift.getHMDInfo();
System.out.println(hdmInfo);
// while(oculusRift.isInitialized()){
//
// }
oculusRift.destroy();
}
}
但我知道这个错误
Exception in thread "main" java.lang.UnsatisfiedLinkError: de.fruitfly.ovr.OculusRift._initSubsystem()Z
at de.fruitfly.ovr.OculusRift._initSubsystem(Native Method)
at de.fruitfly.ovr.OculusRift.init(OculusRift.java:82)
at ec.test.test3.Test.main(Test.java:21)
Java Result: 1
我创建并包含了一个基于以下内容的库:
JRIFT-0.2.5.1.jar型
jriftlibrary-0.2.5.1.jar
jriftlibrary-0.2.5.1-natives-windows.jar
从here
少了什么?
编辑:
通过提取jriftlibrary64.dll并将其路径显式添加到Java路径来强制
system.loadlibrary(“jriftlibrary64”);
它起作用。为什么不换个方式?
最佳答案
你试过乔弗吗?https://github.com/jherico/jovr
这里有一个完整的例子:https://github.com/jherico/jocular-examples
这个库很简单,非常可靠,并且与当前的oculus运行时1.8兼容。
当做