带有RoboVM的iOS的Libgdx - IOSGLES20.init上的链接错误不满意

Bog*_*dru 9 ios libgdx robovm

尝试使用RoboVM将我的LibGDX游戏移植到iOS.

在为模拟器运行应用程序时,我收到此错误:

Exception in thread "main" java.lang.UnsatisfiedLinkError: 
at com.badlogic.gdx.backends.iosrobovm.IOSGLES20.init(Native Method)
at com.badlogic.gdx.backends.iosrobovm.IOSGLES20.<init>(IOSGLES20.java)
at com.badlogic.gdx.backends.iosrobovm.IOSApplication.didFinishLaunching(IOSApplication.java)
at com.badlogic.gdx.backends.iosrobovm.IOSApplication$Delegate.didFinishLaunching(IOSApplication.java)
at org.robovm.cocoatouch.uikit.UIApplicationDelegate$Callbacks.didFinishLaunching(UIApplicationDelegate.java)
at org.robovm.cocoatouch.uikit.UIApplication.UIApplicationMain(Native Method)
at org.robovm.cocoatouch.uikit.UIApplication.main(UIApplication.java)
at ***********
Run Code Online (Sandbox Code Playgroud)

小智 6

好吧,听起来你可能已经升级到了libGDX 1.6.1+

在主build.gradle文件中查找如下行:

natives "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"
Run Code Online (Sandbox Code Playgroud)

如果你有这样的行改变他们读取(更改nativescompile):

compile "com.badlogicgames.gdx:gdx-backend-robovm:$gdxVersion"
compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-ios"
compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios"
Run Code Online (Sandbox Code Playgroud)

并看看是否能解决问题.

我刚刚经历了几个小时没有意识到我在更新到更新的libGDX时错过了一个步骤,并且roboVM不再包含作为ipa构建的一部分的bin,因为它们现在打包为JAR,它们通过编译被吸入.(在这些robovm.xml中不再有lib条目)


Bog*_*dru 0

如果你遇到这个问题,我是这样解决的:我从旧论坛上的某人那里得到了建议: - 从主项目中保存你的类 - 删除整个项目 - 使用 LibGDX UI 设置从头开始重建 - 将你的类复制回主要项目。

正如那个人所说,总会有一些你遗漏的小故障。

我为此浪费了 3-4 个小时,然后我接受了这个建议,一切都很顺利:)