Xcode 4 (окончательная версия) ошибка при сборке - PullRequest
6 голосов
/ 16 марта 2011

Не могу найти ответ.

Я только что использовал финальную версию Xcode 4 и собрал существующий проект, который был построен нормально с Xcode 3, но получил эту ошибку:

ld: library not found for -lSystem.B
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1    

Но другой проект был построен нормально с Xcode 4.

Я установил Xcode 4, выбрав параметры по умолчанию.

Я пропускаю куда-нибудь включать библиотеку или фреймворк?

Может кто-нибудь, пожалуйста, помогите. Спасибо.

Ответы [ 5 ]

14 голосов
/ 01 июля 2011

Вот мое решение для Xcode 4.0.2 со средой SDK 4.3, но я считаю, что оно также должно работать на других настройках.

  1. libSystem.B.dylib отсутствует в /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/lib, однако этоприсутствует для более низких версий SDK (например, iPhoneOS4.2.sdk)
  2. , в большинстве случаев libSystem.B.dylib - это просто символическая ссылка на libSystem.dylib
  3. , поэтому в iPhoneSimulator4.3.sdk/usr/lib я применил следующую командуsudo ln -s libSystem.dylib libSystem.B.dylib и мои сборки симулятора снова начали работать:)

ПРИМЕЧАНИЕ: libSystem.B.dylib используется Flurry и Urban Airship, поэтому лучше не удалять ссылку вфайл проекта (конечно, Urban Airship не работает в симуляторе, но я думаю, что Flurry работает. libSystem.B.dylib может также потребоваться другим библиотекам, включенным в ваш проект.

ОБНОВЛЕНИЕ: решениевсе еще работает для iOS5 Simulator после обновления до Xcode 4.3

ОБНОВЛЕНИЕ, 9 марта, 2k12: для установок Xcode через App Store, префикс выше пути с /Applications/Xcode.app/Contents или путь, где выустановлен Xcode.app.

1 голос
/ 06 февраля 2012

-weak_library /usr/lib/libSystem.B.dylib ломает симулятор iOS.Вместо этого используйте -weak-lSystem.

nicktmro правильно понял, особенно когда вы разрабатываете проекты cocos2d с использованием xcode 4.x

1 голос
/ 08 августа 2011

-weak_library /usr/lib/libSystem.B.dylib ломает симулятор iOS. Вместо этого используйте -weak-lSystem.

Цитата принадлежит gparker на официальных форумах разработчиков.

1 голос
/ 16 марта 2011

решаемая.

Оказывается, в моем проекте была ссылка на libSystemB (не знаю, почему она там есть). После удаления ссылки он хорошо выстроился.

Все равно спасибо, ребята!

0 голосов
/ 03 августа 2012

У меня одна и та же проблема с месяцами, и я всегда делал символическую ссылку, как описано здесь каждый раз, когда я обновлял xCode. Сегодня я нашел хороший новый способ исправить это:

В ваших целевых этапах сборки перейдите к «Связать двоичные файлы с библиотеками» и найдите: libz.dylib

Установить с «Обязательный» на «Необязательный»

BUILD

БУДЬ СЧАСТЛИВЫМ

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