web-dev-qa-db-fra.com

Chemin SDKROOT pour le dernier SDK

J'utilise Xcode pour construire un ancien code et spécifier SDKROOT=/Developer/SDKs/MacOSX"${Host_VERSION}".sdk/

Je souhaite spécifier SDKROOT pour le dernier SDK fourni pré-installé (?) Sur le système. par exemple. Je suis déjà sur 10.8 et je veux spécifier SDKROOT avec -syslibroot, mais il n’existe pas de tel SDK dans /Developer/SDKs/. Devrais-je simplement ignorer syslibroot si SDK_VERSION == Host_VERSION?

16
PnotNP

Les versions plus récentes de Xcode contiennent les kits de développement logiciel dans le bundle Xcode.app, par exemple.

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk

Vous obtenez la liste des SDK installés ainsi que leur chemin en exécutant

xcodebuild -sdk -version

à partir de la ligne de commande.

Si vous avez installé les "Outils de ligne de commande" (Préférences Xcode -> Téléchargements -> Composants), la compilation sans "-syslibroot" devrait être équivalente à la compilation avec le dernier SDK.

Voir l'aide du package "Outils de ligne de commande":

Le téléchargement de ce paquet installera des copies de la ligne de commande principale outils et en-têtes système dans les dossiers système, y compris LLVM compilateur, éditeur de liens et outils de construction.

29
Martin R

Avec xcodebuild -version -sdk macosx10.7 Path, vous pouvez obtenir le chemin d'accès au SDK OS X 10.7 . Vous pouvez remplacer 10.7 par ${SDK_VERSION} ou ${Host_VERSION} en fonction de vos besoins . Je ne connais aucune commande permettant d'obtenir la version de OS X pouvant être utilisée pour obtenir le chemin d'accès au SDK correspondant à la version d'OS X en cours d'exécution.

Remarque: pour que xcodebuild fonctionne, l'utilisateur doit avoir configuré correctement xcode-select, par exemple xcode-select -switch /Application/Xcode.app.

5
Sven

Comme indiqué dans une autre question stackoverflow :

xcrun --sdk macosx --show-sdk-path
2
Sriram Murali