RoboVM和libgdx iOS示例应用程序失败,“Struct类必须是最终的”

时间:2013-12-29 08:33:13

标签: libgdx robovm

我正在尝试将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。我假设它是一个配置设置,但我卡住了。我很感激任何寻求解决方案的帮助。

1 个答案:

答案 0 :(得分:3)

RoboVM内置的Java to native框架Bro目前正在进行一些重大的重构。您遇到的问题可能是由于使用了RoboVM每晚版本的库和RoboVM Eclipse插件的不兼容版本。确保使用与Eclipse插件版本相同版本的RoboVM库,例如: 0.0.7。

如果您想使用最新的夜间库(不推荐),您还应该使用Eclipse插件的每晚构建。使用Eclipse中的更新站点http://download.robovm.org/nightlies/eclipse/获取最新的每晚版本。

相关问题