Символы Facebook не найдены для архитектуры i386 - PullRequest
3 голосов
/ 29 августа 2011

Я получаю следующую ошибку при попытке скомпилировать мой проект в xcode 4 (нормально работал в xcode 3.x)

    Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_FBSession", referenced from:
      objc-class-ref in View1Controls.o
  "_OBJC_CLASS_$_FBLoginDialog", referenced from:
      objc-class-ref in View1Controls.o
  "_OBJC_CLASS_$_FBRequest", referenced from:
      objc-class-ref in View1Controls.o
  "_OBJC_CLASS_$_FBStreamDialog", referenced from:
      objc-class-ref in View1Controls.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

Может кто-нибудь объяснить, что не так? Я уверен, что я правильно импортировал файлы заголовков ..

Спасибо

Jack

Ответы [ 4 ]

7 голосов
/ 29 августа 2011

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

Чтобы исправить это, перейдите к обзору проекта в Xcode.Нажмите на цель.Нажмите на Фазы сборки.Разверните список «Связать двоичные файлы с библиотеками».Если библиотек нет в списке, нажмите «+» и добавьте соответствующие библиотеки.

1 голос
/ 29 августа 2011

Вам не хватает библиотеки / фреймворка, которая вызвала ошибки компоновщика, которые вы видите. Я не уверен, какой фреймворк связан с функциональностью Facebook, это может быть общий сетевой интерфейс. Дай мне посмотреть, смогу ли я узнать, что тебе нужно.

РЕДАКТИРОВАТЬ: Есть ли у вас основы Foundation включены в ваш проект? Может, на сайте Facebook упоминается, какой вам нужен?

0 голосов
/ 09 июля 2014

Это связано с ошибкой компоновщика.Поэтому просто удалите фреймворк Facebook из проекта и перетащите новый.

  • Удалите существующий фреймворк Facebook
  • Перетащите папку FacebookSDK.framework из папки установки SDK в раздел Frameworks вашего проекта
0 голосов
/ 29 августа 2011

Я не работаю с фейсбуком, но вот мои мысли: Это ошибка компоновщика, а не компилятора (что было бы, если бы заголовок не был импортирован). Вы импортировали правильные рамки? И гарантированно, что XCode говорит компилятору ссылаться на правильную библиотеку?

...