Question

Donc, je suis un nouveau programmeur et je viens d'installer XCode sur mon Macbook pour obtenir le GCC. Je pense que Xcode est le seul moyen d’obtenir GCC sous OSX. Maintenant, lorsque j'exécute mon application Hello World, en C ++, g ++ indique qu'il s'agit de la version 4.0.1, mais lorsque je recherche des commandes commençant par g, je vois également g ++ - 4.2. Existe-t-il un moyen de rendre 4.2 par défaut plutôt que 4.0.1, et aussi de mettre à jour gcc avec la dernière version 4.4.0?

EDIT: Ok, donc j’ai installé macports et gcc4.4 et il apparaît sur le terminal sous le nom gcc-mp-4.4 et comment le rendre par défaut avec gcc_select, comme quelles sont les commandes et le reste. Merci.

Était-ce utile?

La solution

Si vous installez macports, vous pouvez installer gcc select, puis choisir votre version de gcc.

/opt/local/bin/port install gcc_select

Pour voir vos versions, utilisez

port select --list gcc

Pour sélectionner une version, utilisez

sudo port select --set gcc gcc40

Autres conseils

Je sais que c'est une vieille demande. Mais cela pourrait quand même être utile à certains. Avec les versions actuelles de MacPorts, vous pouvez choisir la version par défaut de gcc à l'aide de la commande port. Pour répertorier les versions disponibles de gcc, utilisez:

  

$ sudo port select --list gcc

Available versions for gcc:
gcc42
llvm-gcc42
mp-gcc46
none (active)

Pour définir gcc sur la version MacPorts:

  

$ sudo port select --set gcc mp-gcc46

J'arrive juste pour dire que l'utilisation d'un lien virtuel pour y parvenir est une idée terrible, pas bonne, horrible.

L’un des éléments clés de l’écriture d’un logiciel est sa reproductibilité. Vous voulez pouvoir obtenir les mêmes résultats à chaque fois. Ces systèmes sont si complexes que vous souhaitez réduire toutes les sources d'erreur invisibles.

Avoir un lien symbolique est une source d'erreur invisible. C'est le genre de chose que vous oublierez en un mois, puis vous passerez sur une autre machine et vous demanderez pourquoi vous obtenez des résultats différents - ou, vous essayerez de mettre à niveau votre système, et vous obtiendrez des erreurs étranges, car ce n'est pas attendant un lien symbolique là-bas.

De plus, cela n’est pas garanti - en particulier, il n’est pas clair que vous obtiendrez les fichiers d’inclusion système corrects, qui ont certainement changé entre les itérations de gcc.

gcc_select est un moyen systématique de faire la même chose qui fonctionnera de manière prévisible, ou dans le pire des cas, vous pouvez déposer un rapport de bogue et obtenir un correctif éventuel ou le réparer vous-même.

Malheureusement :-( gcc_select n'affecte pas le compilateur utilisé par XCode. Ce n'est donc pas la bonne façon de travailler si vous avez besoin de travailler avec XCode (ce que je fais). Je ne sais toujours pas ce que cela pourrait être.

utilisez "gcc_select -l"

  

>   gcc_select -l

     

gcc40 mp-gcc44

     

>   gcc_select mp-gcc44

La recette suivante utilisant Homebrew m'a permis de passer à gcc / g ++ 4.7:

$ brew tap SynthiNet/synthinet
$ brew install gcc47

Trouvé sur un message ici .

dans / usr / bin , tapez

sudo ln -s -f g ++ - 4.2 g ++

sudo ln -s -f gcc-4.2 gcc

Cela devrait le faire.

Vous pouvez avoir plusieurs versions de GCC sur votre boîte. Pour sélectionner celle que vous souhaitez utiliser, appelez-la avec un chemin complet, par exemple. au lieu de g ++ , utilisez le chemin complet / usr / bin / g ++ sur la ligne de commande (dépend de l'endroit où réside votre gcc).

Pour compiler des projets, cela dépend du système que vous utilisez, je ne suis pas sûr à propos de Xcode (je suis satisfait de l’atmosphère par défaut), mais lorsque vous utilisez Makefiles, vous pouvez définir GXX = / usr / bin / g ++, etc.

EDIT

Il existe maintenant un script xcrun qui peut être interrogé pour sélectionner la version appropriée des outils de construction sur mac. En dehors de man xcrun , j'ai exploré cette explication à propos de Outils de xcode et de ligne de commande , qui résument bien l’utilisation qui en est faite.

Quel que soit le produit livré par Apple, le code gcc par défaut dans xcode (4.2.1 sur 10.6, 4.0.1 auparavant) est bien testé (et maintenu) par les utilisateurs d’Apple et le paramètre "standard". pour compiler un logiciel sous OS X. Tout le reste ne l’est pas, réfléchissez-y à deux fois si vous souhaitez développer un logiciel ou si vous êtes bêta-testeur gcc / OS X.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top