Xcode - co to jest $ (SRCROOT)?

115

Patrzę na projekt Xcode, który używa niektórych bibliotek. Projekt powstał na innym komputerze, więc muszę zaktualizować niektóre ścieżki. Wszystkie ścieżki wyszukiwania bibliotek zaczynają się od $(SRCROOT). Co to znaczy?

William Jockusch
źródło
4
SRCROOT
Bala

Odpowiedzi:

147

Jest to ścieżka do katalogu zawierającego projekt Xcode.

mipadi
źródło
Dziwne jest to, że kiedy przeglądam ścieżki w ustawieniach kompilacji, wszystkie zaczynają się od / Users / stevew. Kiedy klikam dwukrotnie, aby uzyskać widok szczegółów dla tego ustawienia, zamiast tego wszystkie zaczynają się od $ (SRCRoot). Ale na moim komputerze nie ma katalogu / Users / stevew. Czy więc w jakiś sposób zostało zablokowane w lokalizacji na innym komputerze?
William Jockusch
Prawdopodobnie ktoś zdefiniował SRCROOT za pomocą ścieżki absolutnej - zwykle jest to wygodny katalog główny dla wszystkich źródeł w twoim projekcie, ale nie powinna to być ścieżka bezwzględna, chyba że masz tylko jedną maszynę programistyczną.
Paul R
Dodając do odpowiedzi, jest to katalog lokalnego XcodeProject, więc jeśli masz MailCore w swoim projekcie, MailCore SRCROOT to katalog, w którym otwierasz MailCore Project. XCode ma ten problem z użytecznością, w którym nie można przewijać w prawo na ekranie ustawień projektu, więc jeśli masz długą ścieżkę, nie będziesz w stanie tego powiedzieć, dlatego dodaję do tej odpowiedzi dla tych z długimi nazwami bibliotek. Dzięki mipadi za główną odpowiedź.
Stephen J
30
o czym PROJECT_DIR? Jaka jest różnica od SRCROOT?
Gon
Nie zadawaj pytań w komentarzach; zobacz pytanie 36323031 dotyczące przepełnienia stosu.
SwiftArchitect
3

$(SRCROOT)(aka $(SOURCE_ROOT)) to ścieżka do Twojej lokalizacji, w której .xcodeprojjest.

Łatwo to sprawdzić, po prostu umieść go w polu, a Xcode daje wskazówkę

wprowadź opis obrazu tutaj

yoAlex5
źródło