Cocos2D + Box2D: много проблем с разбором при запуске на устройстве

Я создаю игру, используя платформу Cocos2D и движок Box2D.

Когда я запускаю игру в моем симуляторе, она работает просто отлично. Однако, когда я пытаюсь запустить его на своем устройстве, у меня появляется около 20 проблем, большинство из которых «разбирают» проблемы и «семантические» проблемы.

Это некоторые из вопросов:

ccMacros.h
(!)Parse Issue
Unknown type name 'NSUInteger'CFDictionary.h
(!)Parse Issue
Expected identifier or '('

(!)Semantic Issue
Function cannot return function type 'int(const void*)'

(!)Parse Issue
Unknown type name 'CF_EXPORT'

Честно говоря, я понятия не имею, что вызвало это, и Google не мог мне помочь.

Что бы это ни стоило, я использую cocos2d 2.0, а мое устройство — iPod Touch 4-го поколения.

Любые советы о том, как разобраться в этом беспорядке, будут с благодарностью!

РЕДАКТИРОВАТЬ: По запросу, некоторые строки, которые вызывают проблемы:

typedef const void *    (*CFDictionaryRetainCallBack)(CFAllocatorRef allocator, const void *value);
typedef void        (*CFDictionaryReleaseCallBack)(CFAllocatorRef allocator, const void *value);
typedef CFStringRef (*CFDictionaryCopyDescriptionCallBack)(const void *value);
typedef Boolean     (*CFDictionaryEqualCallBack)(const void *value1, const void *value2);
typedef CFHashCode  (*CFDictionaryHashCallBack)(const void *value);

0

Решение

Я видел эту проблему, когда я создал класс внутри моего проекта с именем «Блок» (таким образом, «Block.h» и «Block.mm»). Это вызвало точно такие же проблемы, с которыми вы сталкиваетесь.

Проверьте ваши недавно добавленные заголовочные файлы, если они затеняют некоторые системные.

1

Другие решения

Попробуйте изменить имена файлов классов, которые работают с box2d, чтобы они заканчивались на .mm вместо .m

0