Файл является универсальным(три среза), но он не содержит (n) ошибки среза ARMv7-s для статических библиотек на iOS, в любом случае, чтобы обойти?
я модернизировал Xcode версия и при использовании внешних статических библиотек, я получаю это сообщение:
ld: файл является универсальным (3 фрагмента), но не содержит (n) фрагмент armv7s: / file / location для архитектуры armv7s clang: ошибка: не удалось выполнить команду компоновщика с кодом выхода 1 (Используйте-v для просмотра вызова)
есть ли способ обойти это и добавить поддержку в библиотеку, если разработчик библиотеки не обновил свою библиотеку пока что?
8 ответов:
Если вы хотите убрать поддержку для любой архитектуры, например, ARMv7-s в вашем случае, используйте меню проект ->Параметры Построения -> удалите архитектуру из "допустимых архитектур".
вы можете использовать это как временное решение, пока библиотека не будет обновлена. Вы должны удалить архитектуру из вашего основного проекта, а не из библиотеки.
кроме того, вы можете установить флаг для конфигурации отладки "Строить только активную архитектуру" - да. Оставьте конфигурацию выпуска "строить только активную архитектуру" нет, просто чтобы вы получили напоминание перед выпуском, что вы должны обновить любые сторонние библиотеки, которые вы используете.
Я просто переключил "строить только активную архитектуру" на " Да " в настройках сборки цели, и теперь все в порядке!
Попробуйте удалить armv7s из "допустимой архитектуры" проекта, чтобы освободить от этой проблемы для iOS 5.1 phone
Я только что опубликовал исправление здесь это также применимо в этом случае - в основном, вы делаете шестнадцатеричный поиск и замену во внешней библиотеке, чтобы заставить его думать, что это код ARMv7s. Вы должны быть в состоянии использовать
lipo
чтобы разбить его на 3 статические библиотеки, дублируйте / измените ARMv7, а затем используйтеlipo
снова собрать новую библиотеку для всех 4-х архитектур.
шквал поддержка iPhone 5 (ARMv7s) Как я уже упоминал во вчерашнем посте, Flurry начал работать над версией iOS SDK для поддержки процессора ARMv7s в новом iPhone 5 сразу после объявления в среду.
Я рад сообщить вам, что работа выполнена и SDK теперь доступен на сайте.
использовать меню проект - > настройки сборки ->
затем удалите armv7s из"допустимых архитектур". Если был выбран стандарт, удалите его, а затем добавьте armv7.
в случае, если это произойдет с кем-то. Я построил свою собственную библиотеку для использования с кодом третьей стороны. В то время как я строил его для доставки, я случайно оставил свой iPhone 4S подключенным, и поэтому Xcode построил свою библиотеку только для подключенной архитектуры вместо того, чтобы следовать настройкам проекта. Удалите все подключенные устройства и восстановите библиотеку, свяжите ее, и все будет в порядке.
надеюсь, что это помогает.