Ошибки компилятора проекта Box2D xcode Команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 завершилась неудачно с кодом выхода 1

Я пытаюсь скомпилировать Box2D.xcodeproj из репозитория box2d svn. Когда я загрузил проект, у меня появилось предупреждение:

Отсутствует SDK в целевом Box2D: iphoneos2.2

И когда я попытался скомпилировать, то получил две ошибки:

Команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 завершилась ошибкой с кодом выхода 1

Команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 завершилась ошибкой с кодом выхода 1

редактировать: я еще немного покопался и установил целевой sdk на iphoneos4.3 (последний), и теперь я получаю только одну ошибку:

[BEROR] Нет архитектур для компиляции (ONLY_ACTIVE_ARCH = YES, активная архитектура = i386, VALID_ARCHS = armv7).

Есть идеи, почему?


person meds    schedule 09.07.2011    source источник
comment
в Xcode вы сможете получить более подробную информацию об ошибке. Найдите справа от сообщения об ошибке значок, который позволяет отображать результаты выполнения компилятора в командной строке.   -  person sergio    schedule 09.07.2011
comment
@sergio Я отредактировал свой ответ, вы это имели в виду?   -  person meds    schedule 09.07.2011


Ответы (2)


Вы пробовали зайти в настройки проекта Box2D и изменить выбранный SDK с «iphoneos2.2» на «Последняя версия iOS» (или что-то еще, что вы используете в других проектах, которые успешно собираются)?

Изменить

После обновления выясняется, что Box2D настроен на сборку только для устройства, и вы пытаетесь создать его для симулятора iPhone. Вы можете проверить это, попытавшись собрать и запустить на устройстве (в частности, iPhone 3GS или выше). Для лучшего исправления отредактируйте проект Box2D еще немного, отключите параметр «Создавать только активную архитектуру» и добавьте i386 и armv6 в список допустимых целевых архитектур. Теоретически это должно прояснить оставшуюся проблему.

person aroth    schedule 09.07.2011
comment
Это устраняет предупреждение и одну ошибку, но я все равно получаю: Команда /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 завершилась неудачно с кодом выхода 1 - person meds; 09.07.2011
comment
@meds - Я обновил свой ответ, попробуйте и посмотрите, работает ли он лучше для вас. - person aroth; 09.07.2011

Я подозреваю, что проект Box2D довольно старый (из-за ссылки на iphoneos2.2) и что его открытие с помощью более поздней версии Xcode не помогло преобразовать все параметры (я говорю это, потому что это довольно распространено для мне пришлось столкнуться с такими проблемами со старыми проектами).

В вашем случае я бы посоветовал попробовать отключить флаг «Строить только активную архитектуру», который вы можете найти в настройках сборки вашего проекта, и посмотреть, что произойдет. Вы также можете подумать о сбросе всех параметров, связанных с архитектурой, до значений по умолчанию.

Также попробуйте скомпилировать для устройства, просто чтобы проверить, работает ли это.

Если мое предложение не помогает, единственный известный мне способ устранения неполадок такого рода - это проверить project.pbxproj, который находится в вашем пакете проекта Xcode, и избавиться от того, что не так (обычно есть некоторое дублирование конфигурации или устаревшая информация ).

PS: проблема с вашими настройками может быть либо на уровне проекта, либо на целевом уровне, поэтому проверьте оба.

person sergio    schedule 09.07.2011