【问题标题】:Cocos2d-x and Marmalade - Troubles with CCCallFuncOCocos2d-x 和 Marmalade - CCCallFuncO 的麻烦
【发布时间】:2012-09-01 18:21:18
【问题描述】:

我有一个可用的 Cocos2d-x 项目,在 XCode 中开发,基于版本 cocos2d-1.0.1-x-0.13.0-beta

现在我必须让它与 Marmalade 一起使用(在 Windows 电脑上使用 VS Express),而且我对它完全陌生。我设法设置了项目并且源代码编译得很好,但是当我启动项目时,当调用 CCCallFuncO 时,我得到一个神秘的异常:

DEFAULT: s3eDeviceHandleException: 1 0x00000000 0x00000000
Memory exception (11) attempting to access: 00000000
S3E runtime is not handling this exception
First-chance exception at 0x00000000 in s3e_simulator_debug.exe: 0xC0000005: Access violation.
Unhandled exception at 0x00000000 in s3e_simulator_debug.exe: 0xC0000005: Access violation reading location 0x00000000.

这发生在 CCActionInstant 类中,在方法 CCCallFuncO::execute 中,在指令上:

(m_pSelectorTarget->*m_pCallFuncO)(m_pObject);

据我所知,所有涉及的对象都是正确且合理的,证明它完全可以在 XCode 中使用相同的代码且没有 Marmalade 的情况下完全有效且有意义。

可能导致此问题的这两种环境之间有什么区别? 任何有果酱经验的人都可以给我一个线索,让我知道我应该寻找什么?

【问题讨论】:

    标签: iphone c++ cocos2d-x marmalade


    【解决方案1】:

    我回答我自己的问题只是为了让其他开发人员知道我是如何解决这个问题的。

    事实证明,果酱模拟器的问题与代码无关。 如果您遇到与我类似的问题 - 我的意思是在尝试在橘子酱模拟器上运行您的应用程序时遇到一个非常未指定的异常 - 在尝试其他任何事情之前,我建议您删除橘子酱子文件夹并重新生成项目来自 .mkb 文件。 这显然会清除一些可能与您的实际代码不同步的缓存和预编译对象。 删除 marmalade 子文件夹会强制编译器重新创建所有内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-03
      • 2011-11-16
      • 2015-01-02
      • 1970-01-01
      • 2013-01-22
      • 2012-03-08
      • 2016-08-13
      • 1970-01-01
      相关资源
      最近更新 更多