GCC na OS X Lion z Xcode 4.3.1

14

Po zainstalowaniu Xcode 4.3.1 na OS X Lion straciłem kompilator GCC. Potrzebuję tego do moich badań. Czy ktoś wie jak to zainstalować? Wszystko, co udało mi się znaleźć, to osoby sugerujące instalację Xcode 4.3.1, ale dzięki najnowszej kompilacji Xcode Apple przeniosło kompilator GCC do Xcode.app i nie jest to ta sama wersja kompilatora GCC, co ten dołączony do poprzednich wersji Xcode.

SimonBS
źródło

Odpowiedzi:

24

Otwórz XCode, przejdź do preferencji w obszarze pobierania, zainstaluj narzędzia wiersza polecenia

Dan
źródło
2
To zdecydowanie najłatwiejszy sposób na zrobienie tego. Dzięki.
SimonBS
15

Ostatnio napisano kilka postów na blogu o tym, jak to zrobić, w kontekście prób kompilacji Ruby 1.8.7 ( moja i inni ). Krótka odpowiedź:

Zainstaluj narzędzia wiersza polecenia (w Xcode: Preferencje> Pobieranie> Komponenty; możesz też przejść do Apple i pobrać je osobno, jeśli nie masz / nie chcesz zainstalować Xcode) - instaluje to gccpolecenie, ale tak naprawdę jest w porządku Zainstaluj Homebrew (instrukcje) , menedżer pakietów dla OS X

Następnie zainstaluj repozytorium homebrew „dupes”, a stamtąd oryginalny kompilator GCC 4.2:

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

/usr/bin/gccnadal będzie i686-apple-darwin11-llvm-gcc-4.2, ale /usr/local/bin/gcc-4.2będzie i686-apple-darwin11-gcc-4.2.1(i powiązane narzędzia, g++-4.2i tak dalej, również w /usr/local/bin)

Następnie możesz użyć dowolnego mechanizmu używanego przez proces kompilacji (na przykład odpowiednio ustawiając zmienne środowiskowe CC i CXX), aby wybrać te kompilatory zamiast wersji clang.

JdV
źródło
Naprawdę chciałbym znaleźć twoje rozwiązanie kilka dni temu. Walczyłem z tym przez dwa dni z rzędu. Dałbym +20, gdybym mógł.
Szansa
5

Nie używam Xcode 4.3 do rzeczywistych projektów Xcode, tylko do kompilacji źródeł wiersza poleceń i miałem ten sam problem. Możesz przywrócić polecenia gcc i cc za pomocą poniższych poleceń z terminala:

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

Spowoduje to zmiany w całym systemie , więc upewnij się, że tego właśnie chcesz, zanim to zrobisz.

Aby te polecenia działały, musisz także zainstalować Narzędzia wiersza poleceń dla Xcode, jeśli jeszcze ich nie masz. Narzędzia można zainstalować za pomocą panelu preferencji pobierania Xcode.

Lantrix
źródło
2
Jedna sugestia: zamiast usuwać stare pliki binarne (wiersz 2 skryptu), być może po prostu umieść je w katalogu archiwum w / usr / bin). W ten sposób, jeśli będziesz ich potrzebować, nadal możesz wywoływać je absolutną ścieżką.
Scott C Wilson
Dobry pomysł. Rób z nimi, jak chcesz, a nawet mv cc cc.orig && mv gcc gcc.origcoś takiego.
Lantrix