2013-10-03 3 views
1

Я пытаюсь создать статическую библиотеку на xcode 5, и я собираю библиотеки для симулятора iphone и устройства iphone для создания фреймворка. Но в последнее время я получаю ошибку «Никаких архитектур для компиляции для (ARCHS = armv7, VALID_ARCHS = i386 x86_64)» при запуске сценария запуска для фреймворка.Компиляция рамки с armv7 и armv7s

Я пытаюсь скомпилировать его для armv7 и armv7s обоих.

Пожалуйста, помогите мне с этой проблемой.

+0

Если вы на самом деле не использовать Новые инструкции armv7s, вам это действительно не нужно. Все, что в противном случае, означает, что вы в магазине «Оптимизированы для iphone 5». Это увеличивает размер вашего двоичного файла. – ahwulf

ответ

2

Решила проблему в конце концов. В моем случае у меня был некоторый зависимый проект для моего проекта статической библиотеки. В зависимых настройках проекта ARCH был armv7. Я сделал это для «Стандартных архитектур (armv7, armv7s)» и успешно скомпилировался. Для моего статического проекта библиотеки, настройки следующим образом:

архитектурах: Стандартные архитектуры (ARMv7, armv7s)

Base SDK: Последние IOS (IOS 7,0)

Строительные Активные Architectures Только: НЕТ

Поддерживаемые платформы: iphonesimulator iphoneos

Правильные архитектуры: arm64 ARMv7 armv7s i386

0

См What's the difference between "Architectures" and "Valid Architectures" in Xcode Build Settings?:

Короче говоря, использование XCode пересечения между арками и VALID_ARCHS, что в вашем случае пуст, как 2 не имеют общей архитектуры (отсюда и ошибки вы получаете) Добавление ARMv7 к VALID_ARCHS может решить проблема.

+0

В моих настройках xcode у меня есть ARCHS (armv7, armv7s) и VALID_ARCHS (armv7, armv7s, arm64, x86_64, i386). Если я создаю симулятор, тогда он работает нормально, но показывает ошибку для устройства. – chandvoid

+0

вы установили «только активную архитектуру сборки» в НЕТ? Вы нашли сгенерированный двоичный файл в своем каталоге сборки XCode? (Органайзер-> Проекты, найдите свой проект, затем щелкните стрелку ссылки рядом с папкой «производные данные», найдите папку «Сборка»> «Продукты» и посмотрите, какие двоичные файлы вашей библиотеки находятся внутри). – Vinzzz

+0

«строить только активную архитектуру» установите значение NO. Я проверил двоичный файл, который он создает, пока выбран симулятор. Он создается, как ожидалось. Но показывается ошибка при построении устройства. В настройках сборки ARCHS - это «Стандартные архитектуры (armv7, armv7s)». Я понятия не имею, почему он показывает ошибку только для устройства. – chandvoid

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