66 votes

Mettre à jour GCC sur OSX

Donc, je suis un nouveau programmeur et je viens d'installer XCode sur mon Macbook pour obtenir la GCC. Je pense que Xcode est le seul moyen pour arriver GCC sur OSX. Maintenant quand je lance mon application Hello World en C++ g++ vient de dire c'est la version 4.0.1, mais quand je regarde pour les commandes commençant par g je vois aussi g++-4.2. Est-il possible de faire de 4,2 par défaut plutôt que 4.0.1, et également est-il un moyen de la mise à jour de gcc pour la dernière version 4.4.0?

EDIT: Ok, j'ai donc installé macports et installé gcc4.4 et il s'affiche sur le terminal en tant que gcc-mp-4.4 et comment puis-je faire défaut avec gcc_select, comme ce sont des commandes et des trucs. Merci.

63voto

Milhous Points 6362

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
 

37voto

Briand06 Points 331

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 lister 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

13voto

Tom Swirly Points 1107

Je suis juste de tomber dans le pour dire que l'utilisation d'un doux lien pour accomplir cela est terrible, bon à rien, horrible idée.

L'une des principales choses à propos de l'écriture de logiciels est reproduceability - vous voulez être en mesure d'obtenir les mêmes résultats à chaque fois. Ces systèmes sont d'une telle complexité que vous voulez réduire tous invisibles sources d'erreur.

Avoir un faible lien est une source invisible de l'erreur. C'est le genre de chose que vous oubliez dans un mois, puis passer à une autre machine, et je me demande pourquoi vous obtenez des résultats différents - ou, vous essayez de mettre à niveau votre système, et vous obtiendrez des erreurs étranges parce qu'il ne s'attendait pas à un softlink.

En outre, ce n'est pas garanti de fonctionner - en particulier, il n'est pas évident que vous obtiendrez le bon système d'inclure des fichiers, qui ont certainement changé entre les versions de gcc.

gcc_select est un moyen systématique de faire la même chose qui va travailler de façon prévisible, ou encore dans le pire des cas, vous pouvez déposer un rapport de bug et obtenir une éventuelle correction ou de réparer vous-même.

Malheureusement :-( gcc_select n'affecte pas le compilateur utilise XCode il n'est donc pas la voie à suivre si vous avez besoin de travailler dans XCode (ce que je fais). Je ne sais toujours pas ce que peut être.

0voto

peter Points 27

en /usr/bin type

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

sudo ln -s -f gcc-4.2 gcc

Ça devrait le faire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X