【问题标题】:Java error no lwjgl64 in path?Java 错误路径中没有 lwjgl64?
【发布时间】:2015-05-20 10:10:23
【问题描述】:

我正在尝试制作一个游戏,它在 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)

我尝试了很多东西。我将 natives 位置设置为 native 文件夹,并在里面检查并发现 lwjgl64 在那里。有什么帮助吗?

【问题讨论】:

    标签: java eclipse jar lwjgl


    【解决方案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】:

      这意味着您没有名为“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 的目录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-18
        • 2020-03-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-02
        • 2011-11-06
        • 2015-03-23
        相关资源
        最近更新 更多