如何在Mac OSX上加载libgdx桌面应用程序?

4

我一直在使用libgdx开发一个简单的游戏,我的电脑是Windows 7。最近我购买了一台Macbook Pro(Mountain Lion)。我下载并安装了JRE 7和Eclipse,然后克隆并导入了项目。但是,虽然代码中没有错误,但当我运行桌面版本时,JVM加载后很快就死掉了。控制台中显示的错误如下:

JavaVM WARNING: JAWT_GetAWT must be called after loading a JVM
_NSJVMLoadLibrary: NSAddLibrary failed for /libjawt.dylib
JavaVM FATAL: lookup of function JAWT_GetAWT failed. Exit
AL lib: ReleaseALC: 1 device not closed

我已将JRE 7添加到构建路径库中,但仍然无法成功。

桌面应用程序通过以下代码启动:

import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;

public class Main {
    public static void main(String[] args) {
        LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
        cfg.title = "colourgame";
        cfg.useGL20 = false;
        cfg.width = 480;
        cfg.height = 800;
        
        new LwjglApplication(new ColourGame(), cfg);
    }
}

我真的被这个问题难住了。

3个回答

4
根据http://lwjgl.org/forum/index.php/topic,4711.0.html,问题出在JRE 7 update 6与Lwjgl的兼容性上。
问题似乎已经在较新版本的库中得到解决。我不确定libgdx是否已做相应更新,但您可以尝试将新版本放入libs文件夹中。

我使用最新的libgdx夜间版更新了项目,但是没有成功。我想我只能在我的个人电脑上继续开发,直到问题解决了? - aliandhismachop
你可以尝试卸载JRE并安装早期版本。例如,我正在使用JRE 6。 - son of the northern darkness
1
根据那个帖子中的对话,我可以确认lwjgl 2.9.1夜间版在OSX 10.8.2上与java 1.7.0_10-ea很好地运行。很高兴看到有这样积极的支持。希望能尽快发布2.9.1版本。 - Sean Connolly

0
这个问题在最新的libgdx夜间构建版本中得到了解决,但是在解决这个问题后,我又遇到了另一个问题,即该版本中缺少IntersectRectangles方法。因此,我不得不回到最新的稳定版本并使其正常工作,但是...上述问题再次出现了。因此,我将坚持使用最新的稳定版本,以便可以在我的Android设备上部署代码并使其正常工作...

因此,临时解决方案是:在开发过程中使用夜间构建版本进行测试,如果您不需要上述方法,则一切都应该正常(我想知道是否还有其他未使用的方法丢失..)


0

如果您仍需要使用libgdx的稳定或旧版本,您可能需要尝试安装jdk 1.6(我已经完成了)以及jdk 1.7。

1. 下载JDK1.6
使用此链接下载jdk 1.6:jdk 6 on mountain lion

2. 添加JRE主目录
在eclipse中,转到首选项 -> Java -> 已安装的JRE并添加jdk 1.6的主目录(就像您的1.7版本一样)。

3. 设置运行配置为使用1.6
转到运行 -> 运行配置 -> 您的配置 -> JRE。选择1.6作为备用JRE。 :)


为什么要踩我?我知道这不是正确答案,因为2.9.1版本已经发布很久了。但是在夜间2.9.1版本发布之前,这个方法可以作为一个临时的解决方案。 - Matteus Magnusson

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