3

我写了这个简单的代码:

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

这里

什么不见​​了?

编辑:

通过提取 JRiftLibrary64.dll 并将其路径显式添加到 java 路径来强制

System.loadLibrary("JRiftLibrary64");

它有效..为什么不能以另一种方式工作?

4

1 回答 1

1

你试过JOVR吗?https://github.com/jherico/jovr

这里有一个完整的例子:https ://github.com/jherico/jocular-examples

这个库很简单,非常可靠并且与当前的 Oculus Runtime 1.8 兼容

问候

于 2016-10-07T14:52:30.327 回答