#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