Xcode - что такое $ (SRCROOT)?

115

Я смотрю проект Xcode, который использует некоторые библиотеки. Проект был создан на другом компьютере, поэтому мне нужно обновить некоторые пути. Все пути поиска библиотеки начинаются с $(SRCROOT). Что это значит?

Уильям Джокуш
источник
4
SRCROOT
Бала

Ответы:

147

Это путь к каталогу, содержащему проект Xcode.

mipadi
источник
Странно то, что когда я просматриваю пути в настройках сборки, все они начинаются с / Users / stevew. Когда я дважды щелкаю, чтобы получить подробное представление для этого параметра, все они вместо этого начинаются с $ (SRCRoot). Но на моем компьютере нет каталога / Users / stevew. Так он каким-то образом привязан к местоположению на другом компьютере?
Уильям Джокуш
Возможно, кто-то определил SRCROOT, используя абсолютный путь - обычно это удобный корневой каталог для всех источников в вашем проекте, но он не должен быть абсолютным путем, если у вас нет только одной машины для разработки.
Paul R
Добавляя к вашему ответу, это каталог локального XcodeProject, поэтому, если у вас есть MailCore в вашем проекте, SRCROOT MailCore - это каталог, в котором вы открываете проект MailCore. XCode имеет эту проблему с удобством использования, когда вы не можете прокручивать прямо на экране настроек проекта, поэтому, если у вас длинный путь, вы не сможете это сказать, поэтому я добавляю к этому ответу для тех, у кого длинные имена lib. Спасибо mipadi за основной ответ.
Stephen J
30
о чем PROJECT_DIR? Чем отличается от SRCROOT?
Гон
Не задавайте вопросов в комментариях; см. вопрос 36323031 о переполнении стека.
SwiftArchitect
20

Это в основном корневой каталог вашего проекта, определенный Xcode.

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html#//apple_ref/doc/uid/TP40003931-CH3-SW38

Юргис
источник
2
Справочная документация Xcode теперь основана на версиях. Обновлена ​​ссылка на справочник по параметрам сборки Xcode 8.3 .
SwiftArchitect
3

$(SRCROOT)(он же $(SOURCE_ROOT)) - это путь к вашему местоположению, где .xcodeprojнаходится a .

Это просто проверить, просто введите его в поле, и Xcode даст вам подсказку.

введите описание изображения здесь

yoAlex5
источник