Ho installato Xcode e gli strumenti della riga di comando dal sito Web degli sviluppatori Mac, che ho letto alcune volte è un prerequisito. Ho anche installato il programma MacPorts. Nel terminale:

sudo port install gcc48 sudo port select -set gcc mp-gcc48 

Tutto quanto sopra è andato liscio finché non ho digitato:

hash gcc

Quando premo Invio, viene visualizzato il seguente messaggio di errore:

-bash: hash: gcc: non trovato

Sono in perdita e non lo faccio sapere come procedere per installare correttamente gcc sul mio Mac (che esegue Mac OS X 10.9.1).

Molto obbligato a qualsiasi suggerimento e / o alternativa allinstallazione del gcc

Commenti

  • Qualche motivo per cui hai bisogno specificamente di gcc? clang usa la stessa sintassi, compila più velocemente e genera codice più veloce. I principali bug sono stati eliminati negli ultimi anni.
  • Una modifica aiuterebbe questo. Se hai un pacchetto che devi compilare, elencalo. Se vuoi solo sapere come compilare gcc per il gusto di farlo, anche questo ‘ va bene, ma la risposta è diversa.
  • Che cosa fa which gcc give?
  • Hai controllato la variabile di percorso nel tuo ~ / .profile? Dovrebbe puntare alla directory in cui si trova gcc.
  • Cosa mostra; s -l / opt / local / bin / gcc *?

Risposta

Potrebbe essere meglio installare gcc da homebrew piuttosto che Macports.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew doctor brew update brew search gcc 

Ci sono “circa 6 versioni di gcc disponibili da questo gestore di pacchetti. Vedi http://brew.sh per maggiori dettagli sugli strumenti homebrew. Inoltre questo thread contiene maggiori dettagli su gcc e homebrew: Come installo GCC tramite Homebrew? Infine, lerrore gcc nella tua shell è simile a questo thread: Ho installato Xcode ma continuo a non ‘ Non ho gcc nel mio terminale

Commenti

  • Perché sarebbe meglio di macports?

Risposta

I loro potrebbero essere due problemi. Un problema è il tuo percorso. Devi avere / opt / local / bin davanti a / usr / bin attualmente hai / opt / local / bin dietro / usr / bin. A causa di questo g ++ probabilmente sta ancora collegando a clang.

Laltro problema è che stai usando il comando di selezione della porta in modo sbagliato. Il comando select crea automaticamente un g ++ fl ag link al compilatore specificato. In questo caso il compilatore specificato dovrebbe essere mp-4.8 e dovrebbe essere –set invece di -set. Le istruzioni sono su questa pagina web http://dropbit.com/?p=84 .

Risposta

Non credo che il comando di selezione della porta abbia fatto quello che ti aspettavi. Il manuale afferma che il comando di selezione seleziona tra più versioni di una porta con versione , che credo sia non il tuo caso qui:

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. 

Dopo aver eseguito correttamente il comando di installazione per gcc (qui versione 4.9):

sudo port install gcc49

Puoi verificare di aver installato i binari di 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 

Puoi quindi eseguire gcc con il percorso completo per i binari:

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. 

Se vuoi sostituire (temporaneamente o permanentemente) il compilatore clang con gcc, puoi farlo impostando CC env var come segue ad esempio:

export CC=/opt/local/bin/gcc-mp-4.9 # set GCC as default C compiler

Come nota a margine, per favore tieni presente che, affinché port select gccVersion funzioni, dovrai installare 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. 

Non ho esaminato i dettagli del pacchetto, quindi non sono sicuro che funzionerebbe tra clang e gcc installato dal port o solo con diverse versioni differenti dei pacchetti gcc installati nel port.

Commenti

  • Solo tra i pacchetti gcc e la selezione della porta avrebbe dovuto funzionare
  • Questo ‘ s quello che ho dichiarato nella prima frase, amico.
  • (MA devi installare il pacchetto gcc_select, che non sembra essere il caso qui).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *