Ошибка связи XCode при ориентировании ARMV7
Вопрос
Я уже потратил бесчисленные часы озадачивающимся над этим, используя поиски 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.