Я обновил версию XCode и при использовании внешних статических библиотек я получаю это сообщение:
ld: файл универсален (3 среза), но не содержит (n) среза armv7s: / file / location для архитектуры armv7s clang: error: сбой команды компоновщика с кодом выхода 1 (используйте -v для просмотра вызова)
Есть ли способ обойти это и добавить поддержку библиотеки, если разработчик библиотеки еще не обновил свою библиотеку?
ios
objective-c
xcode
ios6
static-libraries
Дафна Элазазер
источник
источник
Ответы:
Если вы хотите удалить поддержку любой архитектуры, например, ARMv7-s в вашем случае, используйте меню Project -> Build Settings -> удалить архитектуру из «допустимых архитектур».
Вы можете использовать это как временное решение, пока библиотека не будет обновлена. Вы должны удалить архитектуру из основного проекта, а не из библиотеки.
В качестве альтернативы, вы можете установить флаг для вашей конфигурации отладки «Build Active Architecture Only» на «Да». Оставьте в конфигурации выпуска «Build Active Architecture Only» значение «Нет», чтобы перед выпуском вы получили напоминание о необходимости обновления любых сторонних библиотек, которые вы используете.
источник
No architectures to compile for (ARCHS=i386, VALID_ARCHS=armv7).
от компоновщика, который я мог бы решить только путем добавленияi386
в список допустимых архитектур.Я просто переключил «Build Active Architecture Only» на «Yes» в настройках сборки цели, и теперь все в порядке!
источник
Попробуйте удалить armv7s из "Правильной архитектуры" проекта, чтобы освободить от этой проблемы для телефона iOS 5.1
источник
Я просто разместил исправление здесь , что также будет применяться в данном случае - в основном, вы делаете шестигранную находку и заменить в вашей внешней библиотеке , чтобы сделать его думать , что это ARMv7s кода. Вы должны быть в состоянии
lipo
разбить его на 3 статические библиотеки, продублировать / модифицировать ARMv7, а затемlipo
снова использовать, чтобы собрать новую библиотеку для всех 4 архитектур.источник
Поддержка Flurry для iPhone 5 (ARMv7s) Как я уже упоминал во вчерашнем сообщении, Flurry начал работать над версией iOS SDK для поддержки процессора ARMv7s в новом iPhone 5 сразу после анонса в среду.
Я рад сообщить вам, что работа выполнена, и SDK теперь доступен на сайте.
источник
используйте меню Проект -> Настройки сборки ->
затем удалите armv7s из "действующей архитектуры". Если стандарт был выбран, то удалите его, а затем добавьте armv7.
источник
В случае, если это случится с кем-то. Я создал свою собственную библиотеку для использования со сторонним кодом. Пока я создавал его для доставки, я случайно оставил свой iPhone 4S подключенным, и поэтому Xcode создавал мою библиотеку только для подключенной архитектуры вместо того, чтобы следовать настройкам проекта. Удалите все подключенные устройства и перестройте библиотеку, свяжите ее, и все будет в порядке.
Надеюсь, поможет.
источник
В моем случае я ссылался на стороннюю библиотеку, которая была немного устаревшей (разработанной для iOS 6, на XCode 5 / iOS 7). Поэтому мне пришлось обновить стороннюю библиотеку, сделать Clean and Build, и теперь она успешно собирается.
источник