Jai installé Xcode et les outils de ligne de commande à partir du site Web des développeurs Mac, que jai lu plusieurs fois est un prérequis. Jai également installé le programme MacPorts. Dans le terminal:
sudo port install gcc48 sudo port select -set gcc mp-gcc48
Tout ce qui précède sest bien passé jusquà ce que je tape:
hash gcc
Lorsque jappuie sur Entrée, jobtiens le message derreur suivant:
-bash: hash: gcc: not found
Je suis perdu et je ne le fais pas savoir comment procéder pour installer avec succès gcc sur mon Mac (qui exécute Mac OS X 10.9.1).
Merci à toutes les suggestions et / ou alternatives à linstallation du gcc
Commentaires
Réponse
Vous feriez peut-être mieux dinstaller gcc à partir de homebrew que Macports.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew doctor brew update brew search gcc
Il existe environ 6 versions de gcc disponibles à partir de ce gestionnaire de paquets. Voir http://brew.sh pour plus de détails sur les outils homebrew. De plus, ce fil de discussion contient plus de détails sur gcc et homebrew: Comment installer GCC via Homebrew? Enfin, lerreur gcc dans votre shell est similaire à ce fil de discussion: Jai installé Xcode mais je nai toujours pas ‘ Jai gcc dans mon terminal
Commentaires
- Pourquoi serait-ce mieux que macports?
Réponse
Il peut y avoir deux problèmes. Un problème est votre chemin. Vous devez avoir / opt / local / bin devant / usr / bin actuellement, vous avez / opt / local / bin derrière / usr / bin. À cause de cela, g ++ est probablement toujours lié à clang.
Lautre problème est que vous utilisez la commande de sélection de port incorrectement. Le port la commande select crée automatiquement un fl g ++ ag lien vers votre compilateur spécifié. Dans ce cas, le compilateur spécifié doit être mp-4.8 et doit être –set au lieu de -set. Les itinéraires se trouvent sur cette page Web http://dropbit.com/?p=84 .
Réponse
Je ne pense pas que votre commande de sélection de port a fait ce que vous attendiez. Le manuel indique que la commande de sélection sélectionne entre plusieurs versions de un port versionné , qui, je crois, est pas votre cas ici:
pejvan$ port help select Usage: select --list --set --show --summary <arguments> Select between multiple versions of a versioned port This allows you to choose which version, among several installed versions of a port, is to be considered primary. What this means is which version becomes the one most would consider the default, e.g. the one run without specifying any version.
Après avoir exécuté avec succès la commande dinstallation pour gcc (ici version 4.9):
sudo port install gcc49
Vous pouvez vérifier que vous « avez installé les binaires gcc:
pejvan$ ls -l /opt/local/bin/gcc* -rwxr-xr-x 2 root admin 42912 3 Jun 03:44 /opt/local/bin/gcc-ar-mp-4.9 -rwxr-xr-x 3 root admin 1082788 3 Jun 03:44 /opt/local/bin/gcc-mp-4.9 -rwxr-xr-x 2 root admin 42992 3 Jun 03:44 /opt/local/bin/gcc-nm-mp-4.9 -rwxr-xr-x 2 root admin 43000 3 Jun 03:44 /opt/local/bin/gcc-ranlib-mp-4.9
Vous pouvez ensuite exécuter gcc avec le chemin complet vers les binaires:
pejvan$ gcc-mp-4.9 --version gcc-mp-4.9 (MacPorts gcc49 4.9-20140416_2) 4.9.0 20140416 (prerelease) Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Si vous souhaitez remplacer (temporairement ou définitivement) le compilateur clang par gcc, vous pouvez le faire en définissant le CC env var comme suit manière par exemple:
export CC=/opt/local/bin/gcc-mp-4.9 # set GCC as default C compiler
En guise de remarque, sil vous plaît notez que pour que port select gccVersion
fonctionne, vous devrez installer gcc_select
:
pejvan$ port info gcc_select gcc_select @0.1_8 (sysutils) Description: gcc_select installs files that allow "port select" to switch the default version of gcc. It symlinks the standard compiler executables in the MacPorts prefix to the selected version.
Je nai pas regardé les détails du paquet, donc je ne sais pas sil fonctionnerait entre clang et port installé gcc ou seulement avec plusieurs versions différentes de paquets gcc installés sur le port.
Commentaires
- Seul entre les packages gcc et le port select aurait dû fonctionner
- Que ‘ s ce que jai déclaré dans la première phrase, mate.
- (MAIS vous devez installer le paquet gcc_select, ce qui ne semble pas être le cas ici).
which gcc
donner?