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?

William Jockusch
la source
4
SRCROOT
Bala

Réponses:

147

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

mipadi
la source
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
20

C'est essentiellement le répertoire racine de votre projet défini par 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

Jurgis
la source
2
La documentation de l'aide Xcode est désormais basée sur la version. Lien mis à jour pour la référence des paramètres de build Xcode 8.3 .
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

yoAlex5
la source