获取java.lang.UnsatisfiedLinkError':java.library.path中没有lwjgl

时间:2013-10-13 11:56:39

标签: java eclipse lwjgl

请注意,这与this question不同,因为它不处理链接,因为它不会询问如何通过CLI链接它,而是在Eclipse中使用GUI。

我一直在尝试使用LWJGL编写一个简单的程序。当我将库添加到Eclipse(Windows 7 64bit上的Kepler 4.3.1)并编写程序时,它不会在使用LWJGL的东西下显示红色波浪形。但是,尝试运行它会给我以下堆栈跟踪:

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 DisplayExample.start(DisplayExample.java:8)
    at DisplayExample.main(DisplayExample.java:23)

(是的,这是他们首先提供的示例,但我想运行它以确保所有内容都已正确安装)

我的问题是,如何解决此错误?请注意,即使在Eclipse中运行,它仍然会失败。如果我运行其他不使用LWJGL的东西,它也可以。我刚从互联网上下载它 - 它只有一个版本,所以我认为它是正确的。从我所看到的,其他问题都不会出现与我相同的错误 - 但如果你能指出我也会提供有用的信息问题。

3 个答案:

答案 0 :(得分:38)

您没有在LWJGL应用程序中设置本机。

以下是如何操作:

  1. 转到包含名为“jar”,“res”,“doc”和“native”的文件夹的LWJGL文件夹。你需要进入Eclipse(假设你使用eclipse),在屏幕左侧的Project Explorer中打开你的项目。
  2. 右键单击项目的“JRE系统库”,然后单击“构建路径” - &gt; “配置构建路径”。
  3. 通过单击“本机库位置”(可在JRE系统库下拉菜单中看到),将LWJGL本机库包含在Build Path Configurer中的项目中。
  4. 点击“编辑...”,这将是该常规区域中唯一可点击的按钮。
  5. 将弹出一个文件浏览器。导航到LWJGL本机文件夹的位置(如果您使用的是Windows,则该位置应类似于“C:\ Users \ YOURUSERNAMEHERE \ Desktop \ Java \ eclipse \ lwjgl-2.9.0 \ native”)并包含名为[你的操作系统在这里]。
  6. 希望这有助于:)

答案 1 :(得分:4)

我正在关注教程here,看起来我没有做添加原生步骤,或者我做错了。

按照该链接中的说明解决问题:

  

通过单击lwjgl.jar文件旁边的小箭头来显示下拉列表。双击&#39;原生图书馆位置&#39;并选择包含操作系统本机文件的文件夹,然后单击“确定”。它们位于LWJGL下载包中的natives文件夹中(例如,在Windows上,你指向包含* .dll文件的natives \ windows文件夹,在Mac上你指向natives / macosx文件夹和Linux上你指向natives / linux文件夹。

答案 2 :(得分:0)

如果您尝试运行,请运行以下代码:

public static void main(String... args){
    System.out.println(System.getProperty("java.library.path"));
}

您应该获得如下输出: /Users/yourName/.sdkman/candidates/java/8.0.252.j9-adpt/jre/lib/compressedrefs:/Users/yourName/.sdkman/candidates/java/8.0.252.j9-adpt/jre/lib: / usr / lib

因此,您只需要下载LWJGL库并将位于“ ... native / yourOSname”的文件复制到此文件夹之一

对我来说很好!