有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

eclipse Java错误路径中没有lwjgl64?

我正在尝试制作一个游戏,它在eclipse中运行良好,但当我将其导出并作为jar文件运行时,会出现此错误

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl64 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:72)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)
    at org.lwjgl.Sys.loadLibrary(Sys.java:87)
    at org.lwjgl.Sys.<clinit>(Sys.java:117)
    at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
    at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)
    at ultra.game.core.MainGame.main(MainGame.java:1827)

我试过很多东西。我将本机位置设置为本机文件夹,并在其中进行了检查,lwjgl64位于其中。有什么帮助吗


共 (2) 个答案

  1. # 1 楼答案

    LWJGL使用自己的变量作为本机库的路径:

    System.setProperty("org.lwjgl.librarypath", new File("pathToNatives").getAbsolutePath());
    

    如果保留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());
    
  2. # 2 楼答案

    这意味着您没有将名为“lwjgl64”的本机库放在Java可以找到并加载它的位置,或者您使用的是32位JVM,并且您正在尝试加载64位本机库(反之亦然)——如果您要使用本机库,它们必须与您使用的JVM具有相同的“位”

    在Windows上,本机库将位于文件lwjgl64.dll中;在Mac OS X或其他类似Unix的系统上,它将是lwjgl64.so。查找此文件,然后在启动程序时使用-D选项设置系统属性java.library.path,例如:

    java -Djava.library.path=C:\MyProject\lib com.mypackage.MyProgram
    

    其中C:\MyProject\lib将是包含DLL的目录