Конфликт между классом и статической библиотекой - PullRequest
0 голосов
/ 17 июля 2011

Я использую Layar Player в своем приложении.
Он предоставляет статическую библиотеку для включения в ваш проект.
После установки и попытки компиляции я получил эту ошибку:

ld: дубликат символа _OBJC_CLASS _ $ _ Доступность в //LayarPlayer/Debug/liblayarplayer.a(Reachability.o) и //MyApp.build/Debug-iphoneos / MyApp.build / Objects-normal / armv7 / Reachability.o для архитектуры armv7

Я использую Reachability в своем приложении для проверки состояния сети, но кажется, что она уже включена в библиотеку.
Я пытался удалить все # Reachability import в моем коде, но, очевидно, я получаю ошибки "undeclared function".
Как я могу решить эту проблему?

Ответы [ 3 ]

2 голосов
/ 17 июля 2011

Вам необходимо удалить ссылки из проекта. Это означает, что не удаляйте #import Reachability, а ищите Reachability.m и Reachability.h в файлах проекта и удаляйте их, чтобы в вашем проекте был только один из них.

0 голосов
/ 25 октября 2012

Я решил эту же проблему с помощью

  1. проверьте ваш проект, удалите дубликат файла Reachability;
  2. замена старой версии Reachability (сейчас я использую версию 2.2);
  3. установить флажки компоновщика -ObjC -all_load.

Надеюсь, это поможет.

0 голосов
/ 19 июля 2011

Я исключил все конфликтующие файлы .m из цели, и теперь все в порядке.
Заголовочные файлы не должны быть удалены.

...