Проблема со связыванием - приложение для iPhone - PullRequest
1 голос
/ 29 июля 2010

У меня возникла проблема при попытке связать приложение iPhone с одной из статических библиотек, с которыми я работаю.

Приложение отлично работает с iPhone OS 3.0, но когда я пытаюсь перейти на iOS4.0, у меня возникают некоторые проблемы.

Библиотека, которую я пытаюсь использовать, - это универсальный жир, содержащий версии для arm и i386. Теперь я получаю сообщение об ошибке "Symbol or not found", когда пытаюсь использовать эту толстую библиотеку. Он отлично работает для устройства (arm), но при попытке компиляции для Simulator (i386) у меня возникают проблемы.

Ошибка, которую он мне дает:

"_OBJC_CLASS_$_ClassName", referenced from: file.o
Symbol(s) not found."

Глядя в толстую библиотеку (используя nm), я вижу символ, указанный под armv6 и armv7 как тип "S", и я думаю, именно поэтому он работает нормально! Тем не менее, я не могу найти то же самое под i386, и я не знаю, почему!

Я вижу символ ".objc_class_name_ClassName", указанный как тип "A", однако символ, который, как говорят, отсутствует, там не указан.

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 29 июля 2010

Многие библиотеки были сломаны при переходе на iOS 4 и SDK 3.2.3.Если вы можете собрать библиотеку с помощью SDK 4 и поместить ее обратно в толстую библиотеку, вы, вероятно, вернетесь в нужное русло.

Убедитесь, что для цели развертывания установлено значение 3.x или что вы планируетепоставьте ваше приложение на.

0 голосов
0 голосов
/ 29 июля 2010

Может быть, вам нужно собрать версию lib, ориентированную на iOS 4.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...