Ошибка ссылки XCode: файл слишком мал для архитектуры armv7 - PullRequest
5 голосов
/ 07 декабря 2011

Я получаю эту странную ошибку компоновщика:

ld: в /Users/.../test project / iSMP.framework / iSMP, файл слишком мал для архитектуры armv7

collect2: ld вернул 1 команду завершения состояния /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 не удалось с кодом выхода 1

Версия Xcode: 4.0.2

Если я скомпилирую для симулятора, я получу

... файл слишком мал для архитектуры i386

Google не помогает вообще ..

Я уже пытался:

  • заново добавить рамки
  • очистить путь поиска
  • переместить фреймворк в другой каталог и заново добавить.

Обновление: вывод из lipo -info libiSMP-2.1.a

Архитектуры в толстом файле: libiSMP-2.1.a: armv6 armv7 i386

так, это не из-за несоответствия архитектуры;

Заранее спасибо!

1 Ответ

6 голосов
/ 19 декабря 2011

Я получил решение от службы поддержки этого фреймворка (спасибо, ребята):

Символические ссылки превращаются в плоские файлы при их перемещении из OS / X в Windows.Инфраструктура iSMP имеет следующую структуру: iSMP.framework / iSMP (символическая ссылка, указывающая на libiSMP-2.1.a) / Headers / libiSMP-2.1.a

Чтобы устранить эту проблему, вы можете открыть приложение терминала вMac и перейдите в каталог iSMP.framework.Когда вы наберете команду «ls -l iSMP», вы заметите, что файл iSMP больше не имеет атрибута «l».Затем вам следует воссоздать символическую ссылку, удалив файл iSMP.затем введите 'ln -s libiSMP.2.1.a iSMP'. Это создаст ссылку.

Теперь вы можете перестроить проект.

Другое решение для устранения проблемы - удалить iSMP.файл и переименуйте libiSMP-xx.a в iSMP.

TL / DR: символические ссылки превращаются в плоские файлы при их перемещении из OS / X в Windows.Вам нужно обновить их.

...