Создание целей iPhone SDK 2.x с помощью Base SDK 3.0 при связывании статических библиотек, созданных с помощью SDK 3.0 - PullRequest
7 голосов
/ 22 июля 2009

У меня возникла проблема с получением Pinch Analytics r64, статической библиотеки, созданной на основе iPhone SDK 3.0, для правильной ссылки в моем приложении, предназначенном для iPhone OS 2.0. Кажется, это довольно распространенная проблема, и на сайте Pinch Analytics даже есть целая страница, посвященная ответу на этот вопрос.

По сути, они говорят, чтобы установить базовый SDK вашего проекта на 3.0 и установить целевой показатель развертывания iPhone OS на SDK 2.0 (или любую версию, на которую вы нацелены). Я предпринял оба эти шага, проверил, что я не перезаписываю ни один из параметров проекта в настройках цели, очистил свои цели, но все же я получаю следующие ошибки компоновщика:

Undefined symbols:<br> "___restore_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o) -[Beacon connection:didFailWithError:] in libPMAnalytics-r64.a(Beacon.o)

"___save_vfp_d8_d15_regs", referenced from: -[Beacon connectionDidFinishLoading:] in libPMAnalytics-r64.a(Beacon.o) - [Соединение маяка: didFailWithError:] в libPMAnalytics-r64.a (Beacon.o) - [Соединение маяка: didReceiveData:] в libPMAnalytics-r64.a (Beacon.o) `

и т.д.

Я подхожу к концу моего остроумия здесь; любые предложения будут великолепны!

Ответы [ 2 ]

4 голосов
/ 22 июля 2009

Проверьте свой компилятор. Я подозреваю, что у вас есть несоответствие между кодом, скомпилированным с LLVM-GCC4.2 и GCC4.0.

3 голосов
/ 23 июля 2009

После нескольких писем с командой Pinch Media проблема решена. По сути, вы должны НИКОГДА НЕ ИСПОЛЬЗОВАТЬ DROPDOWN ДЛЯ ВЫБОРА РАЗЛИЧНОГО АКТИВНОГО SDK .

Установите Базовый SDK на 3.0 в Project Info. Установите в качестве цели для iPhone OS Deployment Target значение 2.0 (или любую версию, на которую вы нацелены) в «Сведениях о проекте». Оставьте в раскрывающемся списке «устройство / конфигурация / цель» значение «Базовый SDK (3.0)», иначе Xcode будет использовать цепочку инструментов OLD, связанную с выбранным «Active SDK».

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