Вопрос

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

У меня есть универсальное приложение iPhone / iPad, которое, кажется, компилируется нормально, когда цель - Armv6. Однако, когда устройство iPad, я получаю это предупреждение:

Предупреждение: Здание для устройства SDK - IPhone OS 3.2 'требует архитектуры ARMV7.

Как ни странно, приложение все еще отлично работает на iPad, несмотря на это предупреждение. Однако я хочу делать вещи «правильным способом», что это значит в этом случае. Когда я переключаю целевую архитектуру в ARMV7, я получаю ссылку на ошибки:

 «___ ___ restore_vfp_d8_d15_vfp_d8_d15_regs)

«Редактированные» части ошибок являются ссылки на статическую библиотеку, к которой я пытаюсь связать.

Вот что я пытался из многих предложений в Интернете. Каждое из них было предложено не раз без каких-либо объяснений, что приведет меня к верению того, что никто не совсем понимает эту проблему:

«Никогда не используйте раскрывающееся меню в верхнем левом нижнем углу окна XCODE, чтобы выбрать цель. Вместо этого установите это на базовую SDK, а затем базовую SDK на iPhone OS 3.0 в целевой конфигурации. Установите целевое устройство к предпочтительной цели ( iPad, iPhone OS 3.2 в моей ситуации.) "

Это дает ошибку «Библиотека не найдена для -LCRT1.3.1.O»

«Убедитесь, что GCC не связан с неправильной версией стандартной библиотеки. (Вам придется убедиться, что Library_earch_Path не имеет неправильного пути в нем.)

Моя licled_search_path уже пуста, поэтому это не кажется актуальным.

«Попробуйте компилировать с GCC 4.0, а не GCC 4.2».

Я получаю ошибку синтаксиса внутри файла заголовка Uikit. Ошибка - это «синтаксическая ошибка перед токеном» at_name ". Линия - «Uikit_Extern @interface UilocalizedIndexedCollation: nsobject».

Другой проект компилирует просто хорошо с Такие же целевые настройки, Что действительно делает меня под сомнение моим здравоохранением. Могу ли я иметь дело с коррумпированным проектом Xcode?

Если кто-то знает, что на самом деле происходит и имеет ссылку или не возражает, объясняя это, я был бы очень благодарен.

Ваше здоровье!

Это было полезно?

Решение

VFP между ARMV7 и ARMV6 отличается различными способами. В ARMV7 его обычно предпочтительнее использовать неон. Проблема в вашей статической библиотеке зависит от VFP в ARMV6 - вам либо нужно компилировать библиотеку на ARMV7 или сохранить все приложение на ARMV6.

Возврат к GCC 4.0 - глупо - поддержка ARMV7 была в основном несущественной обратной стороной, если только Apple откроется.

Другие советы

У меня были одни и те же ошибки, за исключением того, что он был для ARMV6. Я исправил их, отменив «компиляцию для большого пальца» в настройках проекта для статической библиотеки и основного проекта.

Насколько ошибка AT_NAME касается одной из возможностей, проверьте, если вы пропустите @end в классе.

Чтобы узнать больше о ошибках AT_NAME Посетите следующую ссылку

http://iosdevelopertips.com/xcode/error-syntax-error-before-at_name-token.html.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top