无法为 libgdx 加载共享库 box2d
我有一个使用 maven 构建的 libGDX 项目.它过去运行良好,但最近它停止工作,因为 libGDX 将 box2d 移动为扩展.我将扩展作为依赖项添加到我的项目的核心,就像我添加任何其他依赖项一样:
I have a libGDX project that is built using maven. It's run fine in the past, but recently, it's stopped working, due to libGDX moving box2d to being an extension. I added the extension as a dependency to the core of my project like I would any other dependency:
<dependency>
<groupId>com.badlogicgames.gdx</groupId>
<artifactId>gdx-box2d</artifactId>
<version>${gdx.version}</version>
<scope>compile</scope>
</dependency>
但是,当我尝试运行桌面项目(或其他任何东西,真的)时,我收到以下错误:
however, when I try to run the project for desktop (or anything else, really), I get the following error:
[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
有谁知道这个错误是什么意思以及我可以如何解决它?我不确定我应该提供哪些其他信息,但如果有要求,我会添加任何所需的代码或信息.
Does anyone know what this error means and how I might fix it? I'm not sure what other information I should provide, though I'll add any code or information needed if asked.
推荐答案
您还必须为桌面添加包含本机库的工件
You'll also have to add the artifacts containing the native libraries, for the desktop
<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)
You have to include the same dependency for Android and iOS, using a different classifier (natives-x86, natives-armebi, natives-armeabiv7, natives-ios)
相关文章