UnsatisfiedLinkError Libgdx桌面
我在桌面上遇到LibGDX的问题。尝试启动应用程序时,我始终收到以下错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: com.badlogic.gdx.utils.BufferUtils.newDisposableByteBuffer(I)Ljava/nio/ByteBuffer;
at com.badlogic.gdx.utils.BufferUtils.newDisposableByteBuffer(Native Method)
at com.badlogic.gdx.utils.BufferUtils.newUnsafeByteBuffer(BufferUtils.java:288)
at com.badlogic.gdx.graphics.glutils.VertexArray.<init>(VertexArray.java:62)
at com.badlogic.gdx.graphics.glutils.VertexArray.<init>(VertexArray.java:53)
at com.badlogic.gdx.graphics.Mesh.<init>(Mesh.java:148)
at com.badlogic.gdx.graphics.g2d.SpriteBatch.<init>(SpriteBatch.java:173)
at com.badlogic.gdx.graphics.g2d.SpriteBatch.<init>(SpriteBatch.java:142)
at com.badlogic.gdx.graphics.g2d.SpriteBatch.<init>(SpriteBatch.java:121)
at com.badlogic.gdx.graphics.g2d.SpriteBatch.<init>(SpriteBatch.java:115)
我将以下库添加到我的项目中:
- gdx.jar
- gdx-sources.jar
- gdx-natives.jar
- gdx-backend-lwjgl.jar
- gdx-backend-lwjgl-natives.jar
我想念什么吗?
我已经搜索了很多东西,但是我发现的一切都是针对Android的,它告诉我将arm文件夹中的.so库添加到我的项目中,但是对于Wintel平台上的桌面项目而言,这对我来说没有任何意义。
-
我建议您使用此GUI设置项目。它应为您提供适用于所有平台的有效设置。您也可以使用最新的每晚版本,并检查问题是否仍然存在。问题可能在于本地库与其他jar不匹配。
另一个问题可能是您太早实例化了SpriteBatch(或其他内部使用SpriteBatch的实例)(在stacktrace中看起来像这样)。例如静态地像这样:
private static SpriteBatch batch = new SpriteBatch();
这是行不通的,因为此时libgdx设置不正确。而是在游戏的
create
/show
方法中创建此类内容。