Как заставить Xcode 3.2.3 построить специфическую архитектуру? - PullRequest
1 голос
/ 09 августа 2010

При включении статических библиотек я получаю следующую ошибку:

отсутствует требуемая архитектура i386 в файле

Это работало 30 секунд ранее, и только после сбояобновлен до Xcode 3.2.3.Я использовал команду «file» для проверки - и, да, XCode строит совершенно неправильную архитектуру (armv6 + armv7 вместо i386).

Это, кажется, серьезная ошибка в последнем Xcode, где Appleпереписал настройки сборки / компиляции / ссылки.В примечаниях к выпуску есть заметка, в которой очень смутно сказано, что они «изменили», потому что раньше это «сбивало с толку».Это бесполезно.

В настройках сборки для библиотеки ОЧЕНЬ ясно сказано:

"Допустимые архитектуры: i386"

Здесь нет путаницы -Xcode строит что-то отличное от того, что, как говорит цель, должно.

Вопрос в том, как вам это сломать?Как вы заставляете XCode делать то, что он должен?Я переустановил Xcode с нуля, все очистил и вручную проверил файлы сборки.В этом нет ничего плохого (и, конечно, в xcode 3.2.2 это прекрасно работало)

Ответы [ 2 ]

3 голосов
/ 05 сентября 2010

После значительных исследований я считаю, что ответ:

«теперь это невозможно - Apple намеренно жестко запрограммировала XCode, чтобы игнорировать настройки сборки»

Тем не менее, я придумал сценарий, который автоматически создает ВСЕ платформы проекта (что вы должны делать со статическими библиотеками - у вас сейчас нет большого выбора, потому что Apple отключила цели), и сценарий может быть легко изменен для выполнения всех целей вместо всех платформ:

Создание статической статической библиотеки (устройство + симулятор) с использованием Xcode и SDK 4 +

1 голос
/ 09 августа 2010

Щелкните правой кнопкой мыши на целевом приложении в разделе Targets и убедитесь, что для Base SDK установлено значение iOS.

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