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?


Odpowiedzi:


147

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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.