Couldn't load shared library box2d for libgdx

邮差的信 提交于 2020-01-02 06:39:10

问题


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.


回答1:


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>

You have to include the same dependency for Android and iOS, using a different classifier (natives-x86, natives-armebi, natives-armeabiv7, natives-ios)



来源:https://stackoverflow.com/questions/23162438/couldnt-load-shared-library-box2d-for-libgdx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!