2010-08-09 3 views
1

Я получаю следующее сообщение об ошибке при включении статических библиотек:Как сделать Xcode 3.2.3 построить specfic-архитектуру?

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

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

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

Настройки сборки для библиотеки очень четко сказать:

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

Там нет путаницы здесь - Xcode это нечто иное, чем то, что цель говорит, что следует строить.

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

ответ

3

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

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

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

Build fat static library (device + simulator) using Xcode and SDK 4+

+0

Вы подали ошибку с яблоком? –

+0

Учитывая, что они внесли это изменение * преднамеренно * (c.f. примечания к выпуску, которые дают расплывчатое расплывчатое оправдание), я сомневаюсь, что они позаботятся об отчете об ошибке :(. – Adam

1

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

+0

Я предполагаю, что вы имеете в виду «iPhone Device 4.0» или «iPhone Simulator 4.0», поскольку то, что вы описали, не существует, насколько я знаю - если да, то да, это уже так. – Adam