Ошибка статической библиотеки Xcode, игнорирующая файл, файл был создан для архива, который не является связанной архитектурой (armv6)

#iphone #objective-c #static-libraries

#iPhone #objective-c #статические библиотеки

Вопрос:

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

 ld: warning: ignoring file /Users/rw/Library/Developer/Xcode/DerivedData/MSTicketingSaaS-gkznscznevvifjesoapzgwycbces/Build/Products/Debug-iphoneos/libMylib.a, file was built for archive which is not the architecture being linked (armv6)
Undefined symbols for architecture armv6:
  "_OBJC_CLASS_$_AppData", referenced from:
  

Он работал до обновления до Xcode 4.0.2

Я добавил архитектуру i386, и теперь она компилируется для симулятора, но НЕ для устройства.

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

1. вы получаете это только в симуляторе?

2. я тестирую на устройстве и симуляторе, те же ошибки, что и у bowth

3. вы пытались перестроить свою статическую библиотеку?

4. Да, я пытался создать чистую сборку, и я пробовал создавать ее со всеми комбинациями настроек сборки, которые я мог придумать, единственное, что работает, это понижение рейтинга x-кода

Ответ №1:

Проверьте с помощью lipo , для какой архитектуры была создана ваша библиотека:

 lipo -info <path_to_lib>
  

Если он не содержит «arm6», тогда вам следует вернуться к проекту библиотеки и создать его для правильной архитектуры. Если это не поможет, пожалуйста, расскажите более подробно о структуре вашего проекта (ов).

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

1. у меня была такая же проблема, и при использовании lobo он показывает файл Non-fat: libopus. a — это архитектура: armv7