eclipse - JOGL 库无法加载库,但它们位于引用的库文件夹中

标签 eclipse libraries jogl

所以我试图在 Eclipse 中学习 JOGL,但是每次运行代码时我都会收到错误,表明它们找不到引用的库,但是我知道它们被引用,因为 Eclipse 将它们列在生成的文件夹“Referenced”中库”,它们是英特尔,我的机器是英特尔。

该代码不会生成错误标签,但当我尝试运行它时会发出系统错误。我收到以下错误

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: 

C:\Users\Cody\new\workspace\render\gluegen-rt.dll

    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.load0(Unknown Source)
    at java.lang.System.load(Unknown Source)
    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:596)

    at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64)

    at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:96)

    at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:459)

    at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:388)

    at com.jogamp.common.os.Platform$1.run(Platform.java:209)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.jogamp.common.os.Platform.<clinit>(Platform.java:179)
    at javax.media.opengl.GLProfile.<clinit>(GLProfile.java:120)
    at hellowordjogl.render.main(render.java:59)

我的代码如下

package hellowordjogl;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.DisplayMode;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.media.opengl.GL2;
import javax.media.opengl.GLAutoDrawable;
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLEventListener;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;
import javax.media.opengl.glu.GLU;
import javax.swing.AbstractAction;
import javax.swing.ActionMap;
import javax.swing.InputMap;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.Renderer;

import com.jogamp.graph.curve.opengl.RenderState;
import com.jogamp.opengl.util.FPSAnimator;

 public class render implements GLEventListener{

    @Override
    public void display(GLAutoDrawable arg0) {
        // TODO Auto-generated method stub      
    }

    @Override
    public void dispose(GLAutoDrawable arg0) {
        // TODO Auto-generated method stub      
    }

    @Override
    public void init(GLAutoDrawable arg0) {
        // TODO Auto-generated method stub      
    }

    @Override
    public void reshape(GLAutoDrawable arg0, int arg1, int arg2, int arg3,
            int arg4) {
        // TODO Auto-generated method stub      
    }           

    public static void main(String[] args) {
        //
        final GLProfile profile = GLProfile.get(GLProfile.GL2);
        GLCapabilities capabilities = new GLCapabilities(profile);

        // canvas

        final GLCanvas glcanvas = new GLCanvas(capabilities);
        render r = new render();
        glcanvas.addGLEventListener(r);
        final FPSAnimator animator = new FPSAnimator(glcanvas, 300,true);
        // pass in glcanvas to jframe
        final JFrame frame = new JFrame ("test 1");
        frame.getContentPane().add(glcanvas);       

        //shutdown process

        frame.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
                if(animator.isStarted())
                    animator.stop();
                System.exit(0);
            }

        });

        // center screen and make it visible

        frame.setLocationRelativeTo(null);
        frame.setVisible(true);     
    }       
    }

还有什么可能会发送这些错误? eclipse真的没有引用这个吗?我已经通过几种方法完成了它,包括java构建路径。我也在这里完成了这个解决方案,并且收到了相同的错误

JOGL Exception- Can't find gluegen- rt in java.library.path

我还进入了配置构建路径,然后添加到库中,并将它们添加到它们的库中,都在一个包含文件的 now 文件夹中,然后将它们放入它们的库中。

感谢一些建议/帮助,因为我在这里不知所措。

最佳答案

请关注these detailed instructions for Eclipse .

包含 native 库的 JAR 必须与包含 Java 库的 JAR 位于同一目录中。例如,gluegen-rt.jar和gluegen-rt-natives-*.jar必须位于同一目录中。

关于eclipse - JOGL 库无法加载库,但它们位于引用的库文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25129489/

相关文章:

java - 如何导入java项目(Eclipse)

javascript - 如何找出特定变量从哪里来?

java - VMWare 内的 JOGL - 未看到纹理更新

java - 如何在JOGL中静态使用GL对象?

java - Groovy Eclipse stub 方法

java - Eclipse + WindowBuilder,swing 运行时调整大小和定位

data-structures - 哪些库提供持久数据结构?

java - 我从哪里获得 JOGL JAR?

java - Eclipse 样式值错误

c++ - 我究竟该如何使用 Boost?