Проект не построен для симулятора iphone. - PullRequest
0 голосов
/ 09 декабря 2011

Я получаю эту ошибку при попытке собрать для симулятора iphone:

    d: warning: ignoring file /users/salehshah/SmartSwipe/libANMobilePaymentLib.a, file was    built for archive which is not the architecture being linked (i386) Undefined symbols for architecture i386:

Обратите внимание, что я использую xcode 4.2 с iOS 5. Проект прекрасно работает и работает на устройстве. Я думаю, что есть некоторая проблема при связывании статической библиотеки. Может быть, это проблема с архитектурами.

1 Ответ

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

Статическая библиотека, которую вы связываете, не скомпилирована для симулятора.Если это предварительно скомпилированная библиотека, вам нужно создать версию, которая включает все три архитектуры iOS armv6 armv7 и i386.Вы можете сделать это, скомпилировав каждую отдельную архитектуру, а затем связав их вместе с помощью lipo: man lipo

Если, с другой стороны, вы компилируете библиотеку как зависимость от цели вашего приложения, что-то не такс вашими настройками сборки.Посмотрите настройки сборки библиотек, а именно ARCHS и VALID_ARCHS

...