![](/img/trans.png)
[英]How to resolve Exception in thread “main” java.lang.UnsatisfiedLinkError: no jogl in java.library.path?
[英]UnsatisfiedLinkError no jogl in java.library.path
我正在尝试构建一个jogl应用程序。 我下载了jar和本机dll文件。 我已经将它们包含在我的构建路径中,但是当我运行代码时,标题出现错误
这是我的vm文件:
-server
-Xms128m
-Xmx512m
-XX:MaxPermSize=250m
-XX:ReservedCodeCacheSize=64m
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-XX:+UseCodeCacheFlushing
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-Djava.library.path="C:\Users\Vlad\Documents\dev\jogamp-all-platforms\lib\windows-amd64"
这是该文件夹:
这是我构建路径中的罐子:
最后,如果这里需要实际的代码,则为:
import javax.media.opengl.GLCanvas;
import javax.media.opengl.GLCapabilities;
import javax.swing.*;
/**
* on 20/02/14.
*/
public class Demo extends JFrame {
static Demo app = new Demo();
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
app.setVisible(true);
}
});
}
public Demo(){
super("This is my first jogl app");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GLCapabilities caps = new GLCapabilities();
GLCanvas canvas = new GLCanvas(caps);
canvas.addGLEventListener(new MyGLListener());
getContentPane().add(canvas);
}
}
编辑
我已经更改了库以匹配新库:
如您所见,我有本地人和jogl-all.jar甚至gelgengen-rt.jar库。
我现在得到的错误是编译器错误:
这是导致它的一段代码:
GLCanvas canvas = new GLCanvas(new GLCapabilities());
它说GLCapabilties中的GLCapabilites(GLProfiles)不能应用于();
您可能还需要在构建路径中包含gluegen-rt.jar
。 您应该能够从找到jogl-all.jar
(JOGL 2)的同一位置获得此文件。
关于编辑,为简单起见,您可以使用:
GLCanvas canvas = new GLCanvas(new GLCapabilities(null));
这将允许您使用默认的GLProfile
。
您的源代码使用JOGL 1,而您尝试与其一起使用JOGL 2 JAR。 而是看一下我在Wikipedia上的简单示例 。 你可以找到的说明在我们的Wiki安装JOGL 这里 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.