【问题标题】:Failed to locate resource: lwjgl32.dll找不到资源:lwjgl32.dll
【发布时间】:2016-07-10 22:04:36
【问题描述】:

我在编译我的应用程序时遇到问题。
我使用 Eclipse Luna(另外,在 Neon、Mars.(1|2) 中尝试)和 LWJGL 3(.0.0 Build 90(也尝试 .0.1 build 8))
开始时我得到这个错误(通过“-Dorg.lwjgl.util.Debug=true”):

[LWJGL] Version: 3.0.0 build 90
[LWJGL]      OS: Windows XP v5.1
[LWJGL]     JRE: 1.8.0_91 x86
[LWJGL]     JVM: Java HotSpot(TM) Client VM v25.91-b15 by Oracle Corporation
[LWJGL] Loading library (system): lwjgl32
[LWJGL]     Using SharedLibraryLoader...
java.lang.RuntimeException: Unable to extract the LWJGL shared library
    at org.lwjgl.system.SharedLibraryLoader.load(SharedLibraryLoader.java:41)
    at org.lwjgl.system.SharedLibraryLoader.load(SharedLibraryLoader.java:58)
    at org.lwjgl.system.Library.loadSystem(Library.java:76)
    at org.lwjgl.system.Library.<clinit>(Library.java:43)
    at org.lwjgl.system.MemoryAccess.<clinit>(MemoryAccess.java:17)
    at org.lwjgl.system.Pointer.<clinit>(Pointer.java:22)
    at org.lwjgl.glfw.GLFW.<clinit>(GLFW.java:562)
    at ru.iremit.flappy.Main.init(Main.java:35)
    at ru.iremit.flappy.Main.run(Main.java:25)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: Failed to locate resource: lwjgl32.dll
    at org.lwjgl.system.SharedLibraryLoader.extractFile(SharedLibraryLoader.java:80)
    at org.lwjgl.system.SharedLibraryLoader.load(SharedLibraryLoader.java:39)
... 9 more
[LWJGL] Failed to load a library. Possible solutions:
    a) Set -Djava.library.path or -Dorg.lwjgl.librarypath to the directory that contains the shared libraries.
    b) Add the JAR(s) containing the shared libraries to the classpath.
Exception in thread "Game" java.lang.UnsatisfiedLinkError: D:\Documents and Settings\Администратор\workspace_luna_java\JGame\native\lwjgl32.dll: Не найдена указанная процедура
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(Unknown Source)
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.load0(Unknown Source)
    at java.lang.System.load(Unknown Source)
    at org.lwjgl.system.Library.loadSystem(Library.java:110)
    at org.lwjgl.system.Library.loadSystemRelative(Library.java:97)
    at org.lwjgl.system.Library.loadSystem(Library.java:71)
    at org.lwjgl.system.Library.<clinit>(Library.java:43)
    at org.lwjgl.system.MemoryAccess.<clinit>(MemoryAccess.java:17)
    at org.lwjgl.system.Pointer.<clinit>(Pointer.java:22)
    at org.lwjgl.glfw.GLFW.<clinit>(GLFW.java:562)
    at ru.iremit.flappy.Main.init(Main.java:35)
    at ru.iremit.flappy.Main.run(Main.java:25)
    at java.lang.Thread.run(Unknown Source)

附:所有路径均已设置。
附言Windows Xp - 我用的是旧笔记本电脑。
P.P.P.S. “Не найдена указанная процедура” - 近似翻译:“未找到指定的程序”

【问题讨论】:

  • 那个链接器错误是由第一个引起的。 Lwjgl 无法加载它需要的 dll 以提供链接器正在寻找的功能。您是否仔细检查以确保文件 D:\Documents and Settings\Администратор\workspace_luna_java\JGame\native\lwjgl32.dll 确实存在?
  • @AndrewWilliamson 当然,这条路径上的lwjgl32.dll 存在,我知道。

标签: java eclipse lwjgl


【解决方案1】:

由于您没有设置java.library.pathorg.lwjgl.librarypath,LWJGL 尝试通过SharedLibraryLoader 提取dll。这会在您的类路径中搜索包含在 jar 文件中的 dll,但因为您的 dll 不在其中,所以它不会被加载。

因此,要解决此问题,您必须将 -Dorg.lwjgl.librarypath 设置为包含 dll 的目录,或者将它们放入类路径中某处的 jar 文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2015-05-03
    • 2013-01-03
    • 2014-03-20
    • 2015-04-13
    • 2021-07-06
    相关资源
    最近更新 更多