GCC unter OS X Lion mit Xcode 4.3.1

14

Nach der Installation von Xcode 4.3.1 unter OS X Lion habe ich meinen GCC-Compiler verloren. Ich brauche das für mein Studium. Weiß jemand, wie ich das installieren werde? Ich konnte nur Leute finden, die Xcode 4.3.1 vorschlugen, aber mit dem neuesten Xcode-Build hat Apple den GCC-Compiler in die Xcode.app verschoben und es scheint nicht die gleiche Version des GCC-Compilers zu sein wie die mit früheren Versionen von Xcode gebündelte.

SimonBS
quelle

Antworten:

24

Öffne XCode und gehe zu den Einstellungen unter Downloads Kommandozeilen-Tools installieren

Dan
quelle
2
Dies war definitiv der einfachste Weg, dies zu tun. Vielen Dank.
SimonBS
15

In letzter Zeit gab es einige Blog-Posts darüber, wie dies im Zusammenhang mit dem Versuch, Ruby 1.8.7 ( meins und andere ) zu kompilieren, geschehen soll . Die kurze Antwort:

Installieren Sie die Befehlszeilentools (in Xcode: Einstellungen> Downloads> Komponenten; Sie können auch zu Apple wechseln und diese separat herunterladen, wenn Sie Xcode nicht installiert haben / möchten) - dies installiert einen gccBefehl, aber es klingt tatsächlich. Install Homebrew (Anweisungen) , ein Paketmanager für OS X

Installieren Sie dann das Homebrew-Repository 'dupes' und daraus den echten GCC 4.2-Compiler:

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

/usr/bin/gccwird es immer noch sein i686-apple-darwin11-llvm-gcc-4.2, /usr/local/bin/gcc-4.2wird es aber auch sein i686-apple-darwin11-gcc-4.2.1(und zugehörige Werkzeuge, g++-4.2und so weiter, auch in/usr/local/bin )

Anschließend können Sie den von Ihrem Erstellungsprozess verwendeten Mechanismus verwenden (z. B. die CC- und CXX-Umgebungsvariablen entsprechend festlegen), um diese Compiler und nicht die Clang-Versionen auszuwählen.

JdV
quelle
Ich wünschte wirklich, ich hätte vor ein paar Tagen Ihre Lösung gefunden. Ich habe zwei Tage lang gekämpft. Ich würde +20, wenn ich könnte.
Chance
5

Ich verwende Xcode 4.3 nicht für aktuelle Xcode-Projekte, sondern nur für die Kompilierung von Befehlszeilenquellen und habe das gleiche Problem. Sie können Ihre gcc- und cc-Befehle mit den folgenden Befehlen vom Terminal zurückholen:

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

Dadurch werden systemweite Änderungen vorgenommen . Stellen Sie also sicher, dass Sie dies möchten, bevor Sie dies tun.

Damit diese Befehle funktionieren, müssen Sie auch die Befehlszeilentools für Xcode installieren, sofern diese noch nicht installiert sind. Die Tools können über das Download-Einstellungsfenster von Xcode installiert werden.

Lantrix
quelle
2
Ein Vorschlag: Anstatt die alten Binärdateien (Zeile 2 des Skripts) zu entfernen, legen Sie sie möglicherweise einfach in einem Archivverzeichnis unter / usr / bin ab. Auf diese Weise können Sie sie, wenn Sie sie benötigen, weiterhin über den absoluten Pfad aufrufen.
Scott C Wilson
Guter Vorschlag. Mach mit ihnen, wie du willst, mv cc cc.orig && mv gcc gcc.origoder so.
Lantrix