22

请注意,这与这个问题不同,因为它不处理链接,因为它不是询问如何通过 CLI 链接它,而是询问 Eclipse 中的 GUI。

我一直在尝试使用 LWJGL 编写一个简单的程序。当我将库添加到 Eclipse(Windows 7 64 位上的 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 的东西,它也可以工作。我刚刚从互联网上下载了它——它只有一个版本,所以我认为它是正确的。据我所见,其他提问者都没有和我一样的错误——但如果你能指出我的信息性问题也会有帮助。

4

4 回答 4

44

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

这是如何做到的:

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

希望这有帮助:)

于 2013-10-14T01:03:41.897 回答
5

我在这里按照教程进行操作,看起来我没有执行添加本地人步骤,或者我做错了。

按照该链接中的说明进行操作,问题应得到解决:

这是通过单击 lwjgl.jar 文件旁边的小箭头以显示下拉列表来完成的。双击“本机库位置”并选择包含您操作系统的本机文件的文件夹,然后单击“确定”。它们位于包含在 LWJGL 下载包中的 natives 文件夹中(例如,在 Windows 上,您将指向包含 *.dll 文件的 natives\windows 文件夹,在 Mac 上,您将指向 natives/macosx 文件夹,在 Linux 上你会指向 natives/linux 文件夹)。

于 2013-10-13T12:02:29.463 回答
1

如果您尝试运行此代码:

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”的文件复制到此文件夹之一

这对我来说很好!

于 2020-11-05T18:56:16.940 回答
0

我通过将 lwjgl.64.dll 文件添加到 jdk-14.0.1 bin 文件夹解决了这个问题

于 2022-02-10T20:50:42.793 回答