Java,线程主LWJGL中的异常

时间:2015-01-27 00:19:47

标签: java eclipse lwjgl

出于某种原因,eclipse只是自己做的东西.. 我有lwjgl.jar& -util.jar& slick.util java构建路径中的Jars 藏汉..

代码:

package Com.Window;

import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;

public class Window {

    public void start() {

        try {
            Display.setDisplayMode(new DisplayMode(800, 600));
            Display.create();
        } catch (LWJGLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        // init OpenGL here

        while(!Display.isCloseRequested()) {

            // render OpenGL here

            Display.update();
        }
        Display.destroy();

    }
    public static void main(String[] args) {
        Window window = new Window();
        window.start();
    }
}

错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)
    at org.lwjgl.Sys$1.run(Sys.java:73)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
    at org.lwjgl.Sys.loadLibrary(Sys.java:95)
    at org.lwjgl.Sys.<clinit>(Sys.java:112)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
    at Com.Window.Window.start(Window.java:12)
    at Com.Window.Window.main(Window.java:32)

2 个答案:

答案 0 :(得分:0)

1: 创建一个.bat文件并放入-Djava.library.path =“lib /”

2。 以编程方式(第一行代码)

System.setProperty("org.lwjgl.librarypath", System.getProperty("user.dir") + "/lib/");

答案 1 :(得分:0)

添加到JClassics answer

如果保留LWJGL包中的文件结构,可以使用以下内容:

switch(LWJGLUtil.getPlatform())
{
    case LWJGLUtil.PLATFORM_WINDOWS:
    {
        JGLLib = new File("./native/windows/");
    }
    break;

    case LWJGLUtil.PLATFORM_LINUX:
    {
        JGLLib = new File("./native/linux/");
    }
    break;

    case LWJGLUtil.PLATFORM_MACOSX:
    {
        JGLLib = new File("./native/macosx/");
    }
    break;
}

System.setProperty("org.lwjgl.librarypath", JGLLib.getAbsolutePath());