无法加载libgdx的box2d共享库

4

我有一个使用maven构建的libGDX项目。过去一直可以正常运行,但最近因为libGDX将box2d移动到扩展中,所以出现了问题。我像添加其他依赖项一样,将扩展作为核心项目的依赖项进行了添加:

<dependency>
    <groupId>com.badlogicgames.gdx</groupId>
    <artifactId>gdx-box2d</artifactId>
    <version>${gdx.version}</version>
    <scope>compile</scope>
</dependency>

然而,当我尝试在桌面上运行项目(或其他任何东西)时,我会遇到以下错误:

[java] Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load shared library 'gdx-box2d64.dll' for target: Windows 7, 64-bit
[java]  at com.badlogic.gdx.utils.SharedLibraryLoader.load(SharedLibraryLoader.java:115)
[java]  at com.badlogic.gdx.physics.box2d.World.<clinit>(World.java:185)
[java]  ... 11 more
[java] Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Unable to read file for extraction: gdx-box2d64.dll
[java]  at com.badlogic.gdx.utils.SharedLibraryLoader.readFile(SharedLibraryLoader.java:124)
[java]  at com.badlogic.gdx.utils.SharedLibraryLoader.loadFile(SharedLibraryLoader.java:245)
[java]  at com.badlogic.gdx.utils.SharedLibraryLoader.load(SharedLibraryLoader.java:113)
[java]  ... 12 more

有人知道这个错误是什么意思以及我该如何修复它吗?虽然我会在被要求时添加任何代码或信息,但我不确定我应该提供什么其他信息。

1个回答

4

您还需要添加包含本地库的构件,以供桌面使用

<dependency>
    <groupId>com.badlogicgames.gdx</groupId>
    <artifactId>gdx-box2d-platform</artifactId>
    <classifier>natives-desktop</classifier>
    <version>${gdx.version}</version>
    <scope>compile</scope>
</dependency>

您需要为Android和iOS包含相同的依赖项,使用不同的分类器(natives-x86,natives-armebi,natives-armeabiv7,natives-ios)


我有同样的问题。如何添加这个依赖项?我应该在哪个文件中添加它? - ihsanhf

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