LWJGL Slick Java OS X Natives

时间:2012-02-19 12:21:24

标签: java lwjgl

我正试图用LWJGL和Slick编写的游戏制作一个罐子。我的技术是将jar中的本机提取到一个临时目录中,然后将org.lwjgl.librarypath更改为包含解压缩文件的文件夹。可悲的是,这不适用于OS X ...在Windows上它运行正常,但在Mac上它找不到“liblwjgl.dylib”,它实际上不存在......

Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't load library: /var/folders/r0/qwm413fs3b9djwyb0d4pwhn40000gr/T/wo42/natives/liblwjgl.dylib
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1828)
    at java.lang.Runtime.load0(Runtime.java:792)
    at java.lang.System.load(System.java:1059)
    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.opengl.Display.<clinit>(Display.java:135)
    at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36)
    at org.alternativedev.wo42.Game.run(Game.java:136)
    at org.alternativedev.wo42.App.run(App.java:32)
    at org.alternativedev.wo42.App.main(App.java:23)

有没有人遇到过同样的问题和/或知道解决方案?

BigTeddy

2 个答案:

答案 0 :(得分:0)

问题是,为了使jar工作,您还需要本机文件。有一个名为JarSplice的工具可以让您将原生植物放入罐子里。

答案 1 :(得分:0)

我遇到了类似的问题并找到了解决方案here。从本质上讲,您需要将liblwjgl.jnilib从原生目录软链接到liblwjgl.dylib。这样做对我来说。