libGDX 项目无法加载库 liblwjgl.dylib。

12
一个新的libGDX项目在运行桌面端时无法加载liblwjgl.dylib库。
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: 
/var/folders/4l/nsj9j4xj51g8h_6y_ndpnmc80000gn/T/libgdxChristian/3741154320/liblwjgl.dylib
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1798)
    at java.lang.Runtime.load0(Runtime.java:809)
    at java.lang.System.load(System.java:1080)
    at org.lwjgl.Sys$1.run(Sys.java:70)
    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.openal.AL.<clinit>(AL.java:59)
    at com.badlogic.gdx.backends.openal.OpenALAudio.<init>(OpenALAudio.java:70)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:80)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:64)
    at com.foxhat.test.Main.main(Main.java:14)

更新:

我正在运行Java 1.8在OSX 10.9上。这个错误不仅出现在我的项目中,而且还出现在使用libGDX构建的外部JAR文件中。

错误中提到的文件夹,在其中搜索liblwjgl.dylib,包含以下内容:

liblwjgl.jnilib
openal.dylib

liblwjgl.jnilib 重命名为 .dylib 对于外部应用程序是有效的,但对于我自己的应用程序则无效。


当我开始使用libgdx时,我犯了一个错误,尝试运行“core”项目而不是桌面项目。我认为我遇到了相同的问题,通常使用gdx-setup-ui启动新项目可以解决这个问题。 - Paul
3
我遇到了完全相同的问题,而你提出的那个小小的重命名技巧解决了我的问题。如果你是偶然看到这个问题的人,请试试这个方法以确保解决问题。 - Aubergine
感谢提到将 .jnilib 重命名为 .dylib。这对我很有用!我正在使用Hiero进行SDF字体渲染,与https://www.npmjs.com/package/three-bmfont-text一起使用。 - Nick Desaulniers
2个回答

2

我认为这是Java 7和LWJGL之间的兼容性问题。由于某些原因,这仅影响OS X,在我的Windows和Ubuntu机器上运行良好,但在我的Mac上却无法正常工作。在问题得到解决之前,您可以使用以下选项:

  • 在Android / Robovm上进行调试
  • 在其他机器上编码,直到问题得到解决

考虑到您可以使用Android模拟器,我认为Android测试是最佳选择。


0
也许你应该尝试将LWJGL .jar库包含到源路径或“core”目录中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接