2014-01-09 52 views
11

运行桌面项目时,新的libGDX项目无法加载库liblwjgl.dylib。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) 

更新:

我在OSX 10.9运行Java 1.8。同样的错误不仅出现在自己的项目中,而且出现在使用libGDX构建的外部JAR中。

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

liblwjgl.jnilib 
openal.dylib 

重命名liblwjgl.jnilib.dylib做为外国申请的工作,而不是我自己。

+0

当我开始使用libgdx时,当我尝试运行“核心”项目而不是桌面项目时,我犯了一个错误,我想我遇到了同样的问题,并且通常使用gdx-setup-ui开始一个新项目。 – Paul

+2

我有完全相同的问题,并且您提出的小改名技巧为我做了。如果你是发生在这个问题上的某个人,那么只需确定一下即可。 – Aubergine

+0

感谢您提及将.jnilib重命名为.dylib。这对我有用!我使用Hiero进行SDF字体渲染,并使用https://www.npmjs.com/package/three-bmfont-text –

回答

0

也许你应该尝试在源路径或“核心”目录中包含LWJGL .jar库。

2

我相信这是Java 7和LWJGL之间的兼容性问题。出于某种原因,这也只会影响到OS X,因为它在我的Windows和Ubuntu机器上工作得很好,但在我的Mac上却没有问题。您的选择与直到问题得到解决工作:

  • 调试在Android/Robovm
  • 代码另一台机器上,直到问题得到解决

考虑您可以使用Android模拟器,我想Android测试是最好的选择。