2016-07-10 2 views
0

У меня возникла проблема с составлением моего приложения.
Я использую Eclipse Luna (также, попробуйте в Neon, Mars. (1 | 2)) и LWJGL 3 (.0.0 Build 90 (Также попробуйте .0.1 build 8))
И при запуске я получаю эту ошибку (через "-Dorg.lwjgl.util.Debug = true"):Не удалось найти ресурс: lwjgl32.dll

[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) 

PS Все пути установлены.
P.P.S. Windows Xp - я использую старый ноутбук.
P.P.P.S. «Не найдена указанная процедура» - Примерный перевод: «Не найден указанный порядок»

+0

Эта ошибка компоновщика вызвана первым. Lwjgl не смог загрузить необходимую DLL, чтобы обеспечить функцию, которую ищет компоновщик. Вы дважды проверили, чтобы убедиться, что файл 'D: \ Documents and Settings \ Администратор \ workspace_luna_java \ JGame \ native \ lwjgl32.dll' фактически существует? –

+0

@AndrewWilliamson Конечно, 'lwjgl32.dll' на этом пути существует, я это знаю. – makssof

ответ

0

Поскольку у вас нет java.library.path или org.lwjgl.librarypath набор, LWJGL пытается извлечь DLL через SharedLibraryLoader. Это ищет DLL, содержащиеся в файлах jar в вашем пути к классам, но поскольку ваша DLL не находится внутри одной, она не загружается.

Итак, для решения этой проблемы вам необходимо либо установить -Dorg.lwjgl.librarypath в каталог, содержащий ваши DLL, либо поместить их в файл jar где-нибудь на вашем пути к классам.

Смежные вопросы