Quelle est la relation entre Xcode et les outils de ligne de commande Xcode

17

Lorsque j'installe Xcode depuis l'App Store, je peux aussi compiler des programmes dans Xcode ainsi qu'en ligne de commande. Plusieurs utilitaires de ligne de commande comme clang, makeet gittous deviennent disponibles lorsque Xcode.app est installé. J'ai donc pensé que le package séparé d'outils de ligne de commande est réservé à ceux qui ne souhaitent pas installer un IDE complet.

Mais à ma grande surprise, l'un des problèmes de liaison que j'ai rencontrés lors de la compilation de MacVim peut être résolu avec succès en installant les outils de ligne de commande avec xcode-select --install. Donc, apparemment, Xcode.app et les outils de ligne de commande diffèrent, au moins de manière subtile. Quelle est alors la différence? Ce dernier a-t-il une meilleure couverture pour tous les éléments essentiels de la programmation que le premier?

Actuellement, j'utilise Xcode 6.0.1 sur Mavericks.

Siyuan Ren
la source

Réponses:

5

Vous pouvez le voir comme:

  • Les outils de ligne de commande sont la base de base. De nombreux outils de base sont nécessaires pour compiler votre code Swift / Objective-C.
  • XCode est l'IDE qui apporte quelques packages supplémentaires avec lui.

Ainsi, les outils de ligne de commande s'assurent que les outils UNIX de base sont couverts (comme GCC par exemple) pour pouvoir compiler et lier du code.

Xcode utilise alors ces outils de base.


D'après les documents:

Qu'est-ce que le package d'outils de ligne de commande?

Le package d'outils de ligne de commande est un petit package autonome disponible pour téléchargement séparément à partir de Xcode et qui vous permet d'effectuer le développement de ligne de commande dans OS X. Il se compose de deux composants: le SDK OS X et des outils de ligne de commande tels que Clang, qui sont installés dans / usr / bin.

Bastian Gruber
la source
8
Mais apparemment Xcode.app est livré avec ses propres outils de ligne de commande tels que clang, git, makeainsi. Pourquoi l'installation d'une autre copie de ces outils est-elle nécessaire pour compiler certains logiciels?
Siyuan Ren
Pourquoi apparemment? Git et make sont des outils supplémentaires qui ne sont pas inclus dans les outils de ligne de commande "de base".
Bastian Gruber
3
git, makesont tous dans le répertoire /Library/Developer/CommandLineTools/usr/bindonc ils sont, en effet, inclus dans les outils de ligne de commande "de base".
Siyuan Ren