【问题标题】:Failed to locate library: liblwjgl.dylib无法找到库:liblwjgl.dylib
【发布时间】:2023-05-22 10:34:02
【问题描述】:

我正在尝试使用 this 教程创建一个 Minecraft mod,更改版本以使用 1.15.1

我移动了一些文件以使其正常工作,但后来发生了这种情况:

---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.

Time: 12/04/20 1:44 PM
Description: Initializing game

java.lang.UnsatisfiedLinkError: Failed to locate library: liblwjgl.dylib
    at org.lwjgl.system.Library.loadSystem(Library.java:147)
    at org.lwjgl.system.Library.loadSystem(Library.java:67)
    at org.lwjgl.system.Library.<clinit>(Library.java:50)
    at org.lwjgl.system.MemoryUtil.<clinit>(MemoryUtil.java:97)
    at org.lwjgl.system.Pointer$Default.<clinit>(Pointer.java:61)
    at net.minecraft.client.MainWindow.func_211162_a(MainWindow.java:121)
    at com.mojang.blaze3d.platform.GLX._initGlfw(GLX.java:69)
    at com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(RenderSystem.java:530)
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:367)
    at net.minecraft.client.main.Main.main(Main.java:138)
    at inject.mcp.client.Start.main(Start.java:19)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
    at org.lwjgl.system.Library.loadSystem(Library.java:147)
    at org.lwjgl.system.Library.loadSystem(Library.java:67)
    at org.lwjgl.system.Library.<clinit>(Library.java:50)
    at org.lwjgl.system.MemoryUtil.<clinit>(MemoryUtil.java:97)
    at org.lwjgl.system.Pointer$Default.<clinit>(Pointer.java:61)
    at net.minecraft.client.MainWindow.func_211162_a(MainWindow.java:121)
    at com.mojang.blaze3d.platform.GLX._initGlfw(GLX.java:69)
    at com.mojang.blaze3d.systems.RenderSystem.initBackendSystem(RenderSystem.java:530)
    at net.minecraft.client.Minecraft.<init>(Minecraft.java:367)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.main.Main.main(Main.java:138)
    at inject.mcp.client.Start.main(Start.java:19)

-- System Details --
Details:
    Minecraft Version: 1.15.1
    Minecraft Version ID: 1.15.1
    Operating System: Mac OS X (x86_64) version 10.15.2
    Java Version: 1.8.0_241, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 547425376 bytes (522 MB) / 862978048 bytes (823 MB) up to 1908932608 bytes (1820 MB)
    CPUs: 8
    JVM Flags: 0 total; 
    Launched Version: mcp
    Backend library: LWJGL version 3.2.1 build 12
    Backend API: ~~ERROR~~ NoClassDefFoundError: Could not initialize class org.lwjgl.system.Library
    GL Caps: 
    Using VBOs: Yes
    Is Modded: Very likely; Jar signature invalidated
    Type: Client (map_client.txt)
    CPU: <unknown>

似乎找不到库“liblwjgl.dylib”。

检查此库后,我发现了一个可能匹配的文件: liblwjgl.dylib.sha1 is located within the Project and external dependencies under lwjgl-3.2.1.jar

但是,由于某种原因,这似乎不起作用。我之前没见过后缀为.sha1的文件,它是什么功能?它包含一行,一个哈希(我假设sha1)。

我正在使用 macOS Catalina、Java 8Gradle 4.8.1Eclipse 4.15.0

【问题讨论】:

  • .sha1 是检查文件完整性的哈希值。实际文件需要在路径上,这应该可以工作。错误指向路径上不存在的库。
  • @Ironluca 我在哪里可以下载实际文件?
  • 我理解它是一个用于图形等的 java 游戏库。我在谷歌上找到了这个,有一个下载链接 (minecraft.gamepedia.com/Tutorials/Update_LWJGL_(Legacy))
  • 你应该在 1.15.2 中制作你的模组
  • 我想你想用 MinecraftForge 作为模组加载器来创建一个我的世界模组。如果是这种情况,我建议您阅读官方的 minecraft forge 文档,了解如何设置开发环境mcforge.readthedocs.io/en/1.15.x/gettingstarted

标签: java eclipse java-8 minecraft macos-catalina


【解决方案1】:

据我了解,它是游戏文件或伪造文件中某处的 dylib 文件(动态库),游戏文件中丢失的文件可以通过重新安装游戏轻松修复。如果这不能解决问题,请尝试重新安装 mod loader

【讨论】:

  • 再一次,不使用forge