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


115

Я дивлюся на проект Xcode, який використовує деякі бібліотеки. Проект був створений на іншому комп’ютері, тому мені потрібно оновити деякі шляхи. Усі шляхи пошуку бібліотеки починаються з $(SRCROOT). Що це означає?


Відповіді:


147

Це шлях до каталогу, що містить проект Xcode.


Дивним є те, що коли я переглядаю шляхи в налаштуваннях збірки, всі вони починаються з / Users / stevew. Коли я двічі клацну для отримання детального перегляду для цього параметра, вони замість цього починаються з $ (SRCRoot). Але на моєму комп’ютері немає каталогу / Users / stevew. Тож якимось чином заблокувались до місця на іншому комп’ютері?
Вільям Йокуш

Можливо, хтось визначив SRCROOT, використовуючи абсолютний шлях - зазвичай це зручна коренева директорія для всіх джерел у вашому проекті, але це не має бути абсолютним шляхом, якщо у вас є лише одна машина розвитку.
Пол Р

Додавши до своєї відповіді, це каталог локального XcodeProject, тому якщо у вас є MailCore під вашим проектом, SRCROOT MailCore - це каталог, в якому ви відкриваєте проект MailCore. У XCode є ця проблема використання Usability, коли ви не можете прокрутити право на екрані налаштувань проекту, тому, якщо у вас довгий шлях, ви не зможете це сказати, тому я додаю цю відповідь для тих, хто має довгі імена lib. Дякую mipadi за основну відповідь.
Stephen J

30
про що PROJECT_DIR? У чому різниця SRCROOT?
Gon

Не задавайте питань у коментарях; див. питання 36323031 щодо переповнення стека.
SwiftArchitect

20

2
Документація довідки Xcode тепер заснована на версії. Оновлене посилання для посилання на параметри побудови Xcode 8.3 .
SwiftArchitect

3

$(SRCROOT)(ака $(SOURCE_ROOT)) - це шлях до вашого місця, де .xcodeprojзнаходиться.

Перевірити це просто, просто покладіть його в поле, і Xcode дає вам підказку

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.