Cocos2d-x и Marmalade — Проблемы с CCCallFuncO

У меня есть рабочий проект Cocos2d-x, разработанный в XCode и основанный на версии cocos2d-1.0.1-x-0.13.0-beta.

Теперь мне нужно заставить его работать с Marmalade (используя VS Express на ПК с Windows), и я совершенно не знаком с этим. Мне удалось настроить проект, и исходный код компилируется просто отлично, но когда я запускаю проект, я получаю загадочное исключение при вызове 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.

В чем разница между этими двумя средами, которые могут вызвать эту проблему? Любой из вас, у кого есть опыт работы с Marmalade, может подсказать, что мне следует искать?


person Fuzzy Mind    schedule 07.09.2012    source источник


Ответы (1)


Я отвечаю на свой вопрос, чтобы другие разработчики знали, как я решил эту проблему.

Оказалось, что проблема с симулятором Marmalade никак не связана с кодом. Если вы столкнулись с проблемой, похожей на мою, и под похожей я имею в виду, что вы получаете очень неопределенное исключение при попытке запустить свое приложение на симуляторе мармелада, прежде чем пытаться что-либо еще, я могу предложить вам удалить подпапку мармелада и восстановить проект. из файла .mkb. Это, по-видимому, стирает некоторый кеш и предварительно скомпилированный объект, который может не синхронизироваться с вашим фактическим кодом. Удаление подпапки marmalade заставляет компилятор воссоздавать все заново.

person Fuzzy Mind    schedule 18.09.2012