我正在尝试将libgdx Android应用程序移植到iOS,并且正在测试示例libgdx应用程序,以了解如何连接点。我能够让IOSDemo应用程序在模拟器上成功运行,但所有示例libgdx应用程序都失败并出现错误:
An internal error occured during: "Launching cuboc-iosrobovm".
Struct class must be final
控制台输出是:
12/29/13 1:04:04 AM: [ INFO] Building executable
12/29/13 1:04:08 AM: [DEBUG] Compiling org.robovm.rt.bro.ptr.BytePtr$Ptr (ios x86)
后面是错误对话框。我试图按照设置环境的指示,但我很困惑为什么IOSDemo成功编译类,所有libgdx应用程序都不能。以下是错误日志中的附加信息。
异常堆栈跟踪:
java.lang.IllegalArgumentException: Struct class must be final
at org.robovm.compiler.ClassCompiler.compile(ClassCompiler.java:514)
at org.robovm.compiler.ClassCompiler.compile(ClassCompiler.java:279)
at org.robovm.compiler.AppCompiler.compile(AppCompiler.java:198)
at org.robovm.compiler.AppCompiler.compile(AppCompiler.java:216)
at org.robovm.eclipse.internal.AppCompilerThread.run(AppCompilerThread.java:60)
会话数据:
eclipse.buildId=4.3.0.M20130911-1000
java.version=1.7.0_45
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -product org.eclipse.epp.package.standard.product
-keyring /Users/dev/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64
-product org.eclipse.epp.package.standard.product
-data /Users/dev/Files/workspace/libgdx
-keyring /Users/dev/.eclipse_keyring -showlocation
我的设置:Mac OS X Mavericks,Eclipse 4.3,Xcode 5.0.1,RoboVM 0.0.7,libgdx @ origin / HEAD。
我已经尝试了几个libgdx分支和几个来自0.0.8的RoboVM nightlies并尝试回到0.0.6。我假设它是一个配置设置,但我卡住了。我很感激任何寻求解决方案的帮助。
答案 0 :(得分:3)
RoboVM内置的Java to native框架Bro目前正在进行一些重大的重构。您遇到的问题可能是由于使用了RoboVM每晚版本的库和RoboVM Eclipse插件的不兼容版本。确保使用与Eclipse插件版本相同版本的RoboVM库,例如: 0.0.7。
如果您想使用最新的夜间库(不推荐),您还应该使用Eclipse插件的每晚构建。使用Eclipse中的更新站点http://download.robovm.org/nightlies/eclipse/获取最新的每晚版本。