我有一个使用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

有谁知道此错误的含义以及如何解决?我不确定应该提供什么其他信息,不过如果需要,我将添加所需的任何代码或信息。

最佳答案

您还必须为桌面添加包含本机库的工件。

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

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

07-24 19:12