我有一个使用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包含相同的依赖项。