Я уже провел бесчисленные часы, ломая голову над этим, используя поиски Google и другие вопросы о переполнении стека, но безрезультатно.
У меня есть универсальное приложение для iPhone / iPad, которое, кажется, прекрасно компилируется, когда цельARMv6.Однако, когда устройством является iPad, я получаю это предупреждение:
warning: building for SDK 'Device - iPhone OS 3.2' requires an armv7 architecture.
Как ни странно, приложение все еще отлично работает на iPad, несмотря на это предупреждение.Тем не менее, я хочу делать вещи «правильным образом», что бы это ни значило в данном случае.Когда я переключаю целевую архитектуру на armv7, я получаю ошибки компоновки:
"___restore_vfp_d8_d15_regs", referenced from:
*redacted*
"___save_vfp_d8_d15_regs", referenced from:
*redacted*
ld: symbol(s) not found
collect2: ld returned 1 exit status
«Отредактированные» части ошибок являются ссылками на статическую библиотеку, с которой я пытаюсь связать.
Вот что я попробовал из множества предложений онлайн.Каждый из них был предложен несколько раз без какого-либо объяснения, что наводит меня на мысль, что никто не совсем понимает эту проблему:
"Никогда не используйте выпадающее меню в верхнем левом углу окна XCode, чтобы выбратьtarget. Вместо этого установите для этого параметра Base SDK, а затем Base SDK для iPhone OS 3.0 в целевой конфигурации. Установите целевое устройство на предпочитаемую цель (iPad, iPhone OS 3.2 в моей ситуации.) "
Это приводит к ошибке "Библиотека не найдена для -lcrt1.3.1.o"
"Убедитесь, что GCC не связывается с неверной версией стандартной библиотеки. (У вас будетчтобы убедиться, что в LIBRARY_SEARCH_PATH нет неправильного пути.) "
Мой LIBRARY_SEARCH_PATH уже пуст, так что это не имеет значения.
"Попробуйте скомпилировать с GCC 4.0, а не с GCC 4.2."
Я получаю синтаксическую ошибку в заголовочном файле UIKit.Ошибка «Синтаксическая ошибка перед токеном AT_NAME».Строка "UIKIT_EXTERN @interface UILocalizedIndexedCollation: NSObject."
Другой проект прекрасно компилируется с такими же настройками цели, , что действительно заставляет меня усомниться в моем здравомыслии.Могу ли я иметь дело с испорченным проектом XCode?
Если кто-то знает, что на самом деле происходит, и имеет ссылку, или не против объяснить это, я был бы очень благодарен.
Ура!