Добавление заголовка box2d вызывает поток ошибок компилятора - PullRequest
2 голосов
/ 28 февраля 2012

У меня либо странная ошибка, либо временная потеря работы мозга.

У меня запущен проект box2d / cocos в XCode.Все это прекрасно работает, но мой код в настоящее время является доказательством концепции "взломать".Первым этапом очистки кода является создание классов для различных объектов.

Теперь, если я создам новый класс Objective C (унаследованный от NSObject), как показано ниже, все это прекрасно компилируется.Как только я пытаюсь импортировать «Box2D.h», я получаю gazillion ошибок, возникающих из библиотеки box2d о том, что она не может быть собрана.201, чтобы быть точным, и это не указывает на проблемы с самим классом.Кто-нибудь может пролить свет?Я уже пробовал очистить и перестроить, а также перезапустить XCode.

Определение моего очень сложного класса

#import "Box2D.h"

@interface test : NSObject

@end

Пример ошибки компилятора

Expected '=', ',', ';', 'asm' or '__attribute__' before 'b2Fixture' in /Users/..../libs/Box2D/Dynamics/b2Body.h

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Быстрый Google обнаружил заголовок в вопросе .Это похоже на код C ++.Это означает, что вам нужно скомпилировать как Objective-C ++, если вы хотите, чтобы все работало.Возможно, вы сейчас этого не делаете - проще всего изменить расширение вашего файла на .mm.

1 голос
/ 28 февраля 2012

Для этого вам нужен файл Objective-C++, потому что Box2D написан на C ++ и, следовательно, не компилируется в Objective-C из коробки. К счастью, это просто вопрос переименования вашего файла с myClass.m на myClass.mm

...