Не Удалось Выполнить Команду Компоновщика

#ios #objective-c

Вопрос:

 duplicate symbol __Z13createDustVFXPN7cocos2d6CCNodeEff in:
    /Users/SrinivasJ/Library/Developer/Xcode/DerivedData/Race-fahplwvpmjymyegjbzoghrjofgou/Build/Intermediates/Race.build/Debug-iphonesimulator/Race.build/Objects-normal/i386/AIBike.o
    /Users/SrinivasJ/Library/Developer/Xcode/DerivedData/Race-fahplwvpmjymyegjbzoghrjofgou/Build/Intermediates/Race.build/Debug-iphonesimulator/Race.build/Objects-normal/i386/Bike.o
ld: 1 duplicate symbol for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 

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

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

Комментарии:

1. Выполните поиск в своей базе кода для «createDustVFX» ( _createDustVFX(cocos2d::CCNode*, float, float) .

2. @trojanfoe, пожалуйста, прочтите мой вопрос, я нахожу этот метод и изменился.. он тоже отлично работает. но на уровне архитектуры яблок мне нужно объяснение. почему он выдает эту ошибку ?

3. Потому что у вас есть версия createDustVFX() в двух разных файлах.

4. @trojanfoe, я полагаю, что не объясняю вам правильно, я понимаю, что у меня одно и то же имя метода в двух разных файлах…. но почему это дает ошибку? мне нужно больше объяснений на уровне архитектуры.. оба файла не связаны друг с другом…

5. Это произойдет на всех архитектурах, а не только на OSX. Нельзя использовать один и тот же символ в нескольких объектных файлах.