Статическая библиотека условных ссылок iOS - PullRequest
2 голосов
/ 28 ноября 2011

У меня толстая статическая библиотека, скомпилированная для armv7 и i386.В моем проекте iPhone / iPad все работает нормально, но я могу установить свое приложение только на устройстве armv7, чтобы iPhone 3gs и выше ...

Существует способ запустить мой проект на armv6, чтобы я мог установить его наipod touch и старая версия iphone (также, если я отключаю использование библиотеки armv7).

Я пытаюсь это сделать:

#ifdef _ARM_ARCH_7
... //include and use of armv7 library
#else
... //not include armv7 library
#endif

, но когда я компилирую свой проект, у меня возникает ошибка ссылки...

Команда /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/clang++ завершилась неудачно с кодом выхода 1

Так что есть способ запустить мое приложение на всех типах устройствно связать определенную библиотеку при компиляции для armv7 ???

Спасибо за помощь!

1 Ответ

2 голосов
/ 06 декабря 2011

Вам нужно ослабить связь с этой библиотекой. Откройте настройки сборки и найдите другие флаги компоновщика. Вам нужно добавить две записи: первая - «-weak_library», вторая - путь к файлу библиотеки (вам может понадобиться найти то, что передается компоновщику, чтобы найти, что это такое).

Они должны быть в таком порядке, поскольку этот список превращается в параметры для компоновщика в том порядке, в котором они представлены.

...