我写了这么简单的代码:

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兼容。
当做

09-30 11:42