Я создаю игровое приложение для iOS. Приложение работало довольно хорошо, но сегодня я провел довольно большую реструктуризацию, чтобы быть немного более «совместимым» с контроллером вида модели.
Я построил основной движок игры на C ++, но использую Objective-C для управления viewControllers, представлениями и т. Д.
Теперь, когда я компилирую проект, я получаю сообщение об ошибке в фазе соединения. Подробности ниже:
ld: дубликат символа ApplicationEngine :: OnFingerUp (Vector2) в /Users/Dan/Library/Developer/Xcode/DerivedData/BlackHoles-exrlidtstxzdtsbyjghgquhlsqul/Build/Intermediates/BlackHoles.build/Doles-bules-bules- normal / i386 / ApplicationEngine.o и /Users/Dan/Library/Developer/Xcode/DerivedData/BlackHoles-exrlidtstxzdtsbyjghgquhlsqul/Build/Intermediates/BlackHoles.build/Debug-iphonesimulator/BlackHatebject.ject для архитектуры i386
collect2: ld вернул 1 статус выхода
Команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/g++-4.2 завершилась неудачно с кодом выхода 1
OnFingerUp - это функция в моем C ++ ApplicationEngine, которая вызывается из viewController.
Может ли проблема быть вызвана путаницей в моем #include / #imports?
Мой файл AppDelegate должен #include файл MainViewController для настройки начального viewController. MainViewController, в свою очередь, включает в себя файл ApplicationEngine для создания экземпляра этого класса. ApplicationEngine содержит метод OnFingerUp. Затем метод OnFingerUp вызывается из MainViewController, когда я получаю сенсорный ввод. Может ли эта последовательность включений вызывать дубликат?
Я заметил, что если я временно полностью удаляю метод OnFingerUp из приложения, то я получаю ту же проблему с другим методом в ApplicationEngine.
Нет ошибок или предупреждений при компиляции отдельных файлов. Я также пытался очистить все и перекомпилировать, но без радости.
У кого-нибудь есть предложения относительно того, как я могу подойти к решению проблемы? Спасибо, Дэн.