GCC su OS X Lion con Xcode 4.3.1


14

Dopo aver installato Xcode 4.3.1 su OS X Lion, ho perso il mio compilatore GCC. Ne ho bisogno per il mio studio. Qualcuno sa come lo installerò? Tutto quello che sono riuscito a trovare sono state le persone che hanno suggerito di installare Xcode 4.3.1 ma con l'ultima build Xcode, Apple ha spostato il compilatore GCC all'interno di Xcode.app e non sembra essere la stessa versione del compilatore GCC di quello in bundle con le versioni precedenti di Xcode.

Risposte:


24

Apri XCode vai alle preferenze sotto download installa strumenti da riga di comando


2
Questo è stato sicuramente il modo più semplice per farlo. Grazie.
SimonBS,

15

Ci sono stati un paio di post sul blog su come farlo recentemente, nel contesto del tentativo di compilare Ruby 1.8.7 (il mio e altri ). La breve risposta:

Installa gli strumenti da riga di comando (in Xcode: Preferenze> Download> Componenti; oppure puoi andare su Apple e scaricarli separatamente se non hai / vuoi installare Xcode) - questo installa un gcccomando, ma in realtà è un clang Installa Homebrew (istruzioni) , un gestore di pacchetti per OS X

Quindi, installa il repository homebrew 'dupes' e da esso il compilatore GCC 4.2 originale:

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

/usr/bin/gccsarà ancora i686-apple-darwin11-llvm-gcc-4.2, ma /usr/local/bin/gcc-4.2sarà i686-apple-darwin11-gcc-4.2.1(e gli strumenti associati, g++-4.2e così via, anche in /usr/local/bin)

Quindi, è possibile utilizzare qualsiasi meccanismo utilizzato dal processo di compilazione (ad esempio, impostando le variabili di ambiente CC e CXX in modo appropriato) per selezionare quei compilatori anziché le versioni di clang.


Vorrei davvero aver trovato la tua soluzione qualche giorno fa. L'ho combattuto per due giorni di fila. Avrei +20 se potessi.
Probabilità

5

Non uso Xcode 4.3 per progetti Xcode reali, solo per la compilazione dei sorgenti della riga di comando e ho avuto lo stesso problema. Puoi riportare i tuoi comandi gcc e cc con i seguenti comandi dal terminale:

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

Ciò comporterà modifiche a livello di sistema , quindi assicurati che sia quello che vuoi prima di farlo.

Affinché questi comandi funzionino, dovrai anche installare gli Strumenti da riga di comando per Xcode, se non li hai già installati. Gli strumenti possono essere installati tramite il riquadro delle preferenze di download di Xcode.


2
Un suggerimento: invece di rimuovere i vecchi binari (riga 2 dello script), forse semplicemente inserirli in una directory di archivio in / usr / bin). In questo modo, se ne hai bisogno, puoi comunque invocarli con un percorso assoluto.
Scott C Wilson,

Buon consiglio Fai con loro come vuoi, anche: mv cc cc.orig && mv gcc gcc.origo qualcosa del genere.
Lantrix
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.