GCC sur OS X Lion avec Xcode 4.3.1


14

Après avoir installé Xcode 4.3.1 sur OS X Lion, j'ai perdu mon compilateur GCC. J'en ai besoin pour mon étude. Est-ce que quelqu'un sait comment j'installerai cela? Tout ce que j'ai pu trouver, ce sont des personnes suggérant d'installer Xcode 4.3.1 mais avec la dernière version de Xcode, Apple a déplacé le compilateur GCC à l'intérieur de Xcode.app et il ne semble pas être la même version du compilateur GCC que celui fourni avec les versions précédentes de Xcode.

Réponses:


24

Ouvrez XCode, allez dans les préférences sous téléchargements, installez les outils de ligne de commande


2
C'était certainement la façon la plus simple de le faire. Merci.
SimonBS

15

Il y a eu quelques articles de blog sur la façon de le faire récemment, dans le contexte de la compilation de Ruby 1.8.7 (le mien et d' autres ). La réponse courte:

Installez les outils de ligne de commande (dans Xcode: Préférences> Téléchargements> Composants; ou vous pouvez aller sur Apple et les télécharger séparément si vous n'avez pas / voulez que Xcode soit installé) - cela installe une gcccommande, mais c'est en fait clang Installer Homebrew (instructions) , un gestionnaire de packages pour OS X

Ensuite, installez le dépôt homebrew 'dupes' et à partir de là le véritable compilateur GCC 4.2:

brew update
brew tap homebrew/homebrew-dupes
brew install apple-gcc42

/usr/bin/gccsera toujours i686-apple-darwin11-llvm-gcc-4.2, mais le /usr/local/bin/gcc-4.2sera i686-apple-darwin11-gcc-4.2.1(et les outils associés, g++-4.2etc., également dans/usr/local/bin )

Ensuite, vous pouvez utiliser le mécanisme utilisé par votre processus de génération (par exemple, définir les variables d'environnement CC et CXX de manière appropriée) pour sélectionner ces compilateurs plutôt que les versions de clang.


Je souhaite vraiment avoir trouvé votre solution il y a quelques jours. Je l'ai combattu pendant deux jours d'affilée. J'aurais +20 si je pouvais.
Chance

5

Je n'utilise pas Xcode 4.3 pour des projets Xcode réels, uniquement pour la compilation de sources en ligne de commande, et j'ai eu le même problème. Vous pouvez ramener vos commandes gcc et cc avec les commandes ci-dessous depuis le terminal:

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.2 cc
ln -s gcc-4.2 gcc
ln -s c++-4.2 c++
ln -s g++-4.2 g++

Cela entraînera des changements à l'échelle du système , alors assurez-vous que c'est ce que vous voulez avant de le faire.

Pour que ces commandes fonctionnent, vous devez également installer les outils de ligne de commande pour Xcode, si vous ne les avez pas déjà installés. Les outils peuvent être installés via le volet des préférences de téléchargement de Xcode.


2
Une suggestion: au lieu de supprimer les anciens binaires (ligne 2 du script), peut-être simplement les mettre dans un répertoire d'archives sous / usr / bin). De cette façon, si vous en avez besoin, vous pouvez toujours les invoquer par chemin absolu.
Scott C Wilson

Bonne suggestion. Faites-en autant que vous voudrez, mv cc cc.orig && mv gcc gcc.origou quelque chose de ce genre.
Lantrix
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.