2010-11-17 5 views
1

У меня есть это mobclix lib, у меня была более старая версия, но я хотел ее обновить, я удалил старый .a-файл и заголовки и добавил новые, но Я получаю сообщение об ошибке сказав:Обновление библиотеки дает мне Символ (-ы) не найден в xcode

"_OBJ_CLASS_$_MobclixAdViewiPhone_320x50", referenced from: 
Objc-class-ref-to-MobclixAdViewiPhone_320x50 in AdManager.o 
Symbol(s) not found 
Collect2: ld returned 1 exit status 

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

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

+0

И укусил ваш каталог для сборки? –

+0

yep, я удалил каталог сборки, не повезло ... – Leg10n

ответ

1

MobclixAdViewiPhone_320x50 не найден, поэтому вы неправильно связываете mobclix. Полюбился XCode: наличие библиотеки в разделе «Ссылка с бинарными связями с целевой библиотекой» не означает, что библиотека будет связана. Вы должны убедиться, что параметры вашей цели «Настройки сборки»> «Пути поиска библиотек» содержат правильный путь к библиотеке.

+0

Я вижу беспорядок путей !, поскольку я храню старые версии lib, это было похоже на смешивание новых заголовков со старым «.a» файлом, большое спасибо !, удалили старые пути поиска и оставили только новый. – Leg10n

0

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

В противном случае:

  1. Добавить новый этап сборки: правой кнопкой мыши цель, Добавить -> Новый этап сборки -> New Copy Files Сложение Фаза.
  2. Укажите пункт назначения в «Каталог продуктов».
  3. Перетащите вашу библиотеку в эту фазу сборки, а затем;
  4. (Важно!) Перетащите позицию новой фазы сборки, чтобы она была заказана до этапа компиляции.

Это необходимо, если библиотека фактически не установлена ​​на системном пути. Есть и другие способы достижения такого же эффекта, но этот приятный и портативный.

+0

Я удалил lib из xcode и из «link binary с библиотеками» цели, затем создаю новую группу и «добавляю существующие файлы» и добавляю в новой библиотеке я убедился, что lib добавлен в цель, но я получаю ту же ошибку. – Leg10n

+0

Попробуйте это. Добавьте новую фазу сборки: щелкните правой кнопкой мыши цель, Add -> New Build Phase -> New Copy Files Build Phase. Установите пункт назначения в «Каталог продуктов». Перетащите вашу библиотеку в эту фазу сборки, а затем (важно!) Перетащите фазу сборки, чтобы она дошла до фазы компиляции. Xcode должен быть лучше использовать вещи из каталога проекта, но это не к сожалению. Копирование зависимости в каталог сборки даст ему руку помощи. – d11wtq

Смежные вопросы