2013-03-28 3 views
2

Ошибка ..Ошибка связывания статической библиотеки. Неопределенные символы для архитектуры armv7s

Undefined symbols for architecture armv7s: 
    "ABCD_Initialize(ABCD_data_type*)", referenced from: 
     -[MyViewController doSomething] in MyViewController.o 
    ld: symbol(s) not found for architecture armv7s 
    clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Я хотел бы перечислить, что все, что я сделал

ABCD_Initialize является функцией в заголовочном файле статической библиотеки я добавил.

  1. Проверен почти каждый родственный вопрос.
  2. Добавлены все файлы для правильной установки.
  3. Связанный файл FAT (.a файл) на этапах сборки
  4. липо на файл FAT говорит, что это справедливо для ARMv6 ARMv7 и armv7s
  5. Set Строят Активный Архитектура Только YES.
  6. Добавлен .h файл связан с файлом FAT
  7. перезапущен Xcode, Mac и т.д. :)

Несколько вещей о моем приложении

  1. создал рабочую область
  2. добавил несколько других зависимых файлов .xcodeproj в рабочей области.
  3. Добавлен FAT файл (С ++) и связан в фазах сборки
  4. установлен -ObjC флага в других Флагах линкера (для загрузки всех членов статических библиотек архива)

спецификации среды

Mountain Lion + Xcode 4.6 + iOS SDK 6.1

Сообщите мне, если вам нужна дополнительная информация. Любая помощь приветствуется.

Благодаря

J0k3r

+0

У кого-нибудь есть идеи? – kau5hik

ответ

5

Мой первоначальный ответ:

Я бы сказал, что шаг 5 неверен.

Если вы строите библиотеку, вы хотите построить для все архитектуры, а не только «активную архитектуру».

Установите это на «NO» и посмотрите, как оно идет.

Мой второй ответ:

Кроме того, убедитесь, что вы добавили "extern "C" в ваших объявлений функций библиотеки:

#ifdef __cplusplus 
extern "C" { 
#endif 

ABCD_Initialize(ABCD_data_type*); 

#ifdef __cplusplus 
} 
#endif 

, которые помогают с декодировании символы, когда они связаны с ваше приложение. Here's a related question with a decent explanation of what's going on.

+0

Спасибо, тонна. Вы положили конец 3 дням борьбы. – kau5hik

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