Xcode - qu'est-ce que $ (SRCROOT)?


115

Je regarde un projet Xcode qui utilise certaines bibliothèques. Le projet a été créé sur un autre ordinateur, je dois donc mettre à jour certains chemins. Les chemins de recherche de la bibliothèque commencent tous par $(SRCROOT). Qu'est-ce que ça veut dire?


Réponses:


147

C'est le chemin vers le répertoire contenant le projet Xcode.


La chose étrange est que lorsque je regarde les chemins dans les paramètres de construction, ils commencent tous par / Users / stevew. Lorsque je double-clique pour obtenir la vue détaillée de ce paramètre, ils commencent tous par $ (SRCRoot). Mais il n'y a pas de répertoire / Users / stevew sur mon ordinateur. Alors, est-ce qu'il s'est en quelque sorte verrouillé à l'emplacement sur l'autre ordinateur?
William Jockusch

Quelqu'un a probablement défini SRCROOT en utilisant un chemin absolu - c'est généralement un répertoire racine pratique pour toutes les sources de votre projet, mais cela ne devrait pas être un chemin absolu à moins que vous n'ayez qu'une seule machine de développement.
Paul R

En plus de votre réponse, il s'agit du répertoire du XcodeProject local, donc si vous avez MailCore sous votre projet, SRCROOT de MailCore est le répertoire dans lequel vous ouvrez le projet MailCore. XCode a ce problème d'utilisabilité où vous ne pouvez pas faire défiler vers la droite sur l'écran des paramètres du projet, donc si vous avez un long chemin, vous ne pourrez pas le dire, donc j'ajoute à cette réponse pour ceux qui ont de longs noms de lib. Merci mipadi pour la réponse principale.
Stephen J

30
et quoi PROJECT_DIR? Quelle est la différence SRCROOT?
Gon le

Ne posez pas de questions dans les commentaires; voir question 36323031 sur Stack Overflow.
SwiftArchitect


3

$(SRCROOT)(aka $(SOURCE_ROOT)) est un chemin vers votre emplacement où se trouve un .xcodeproj.

C'est simple à vérifier, il suffit de le mettre dans un champ et Xcode vous donne un conseil

entrez la description de l'image ici

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.