Zainstalowałem gcc z Homebrew, teraz jak używać tego gcc zamiast clang?
23
Zainstalowałem gcc z brew install gcc, ale kiedy piszę, gccdomyślne zachowanie jest nadal w użyciu clang. Jak ustawić rzeczy, aby wpisywanie gccw terminalu automatycznie korzystało z gcczainstalowanego przez Homebrew?
Przeszedłem przez ten problem i pracowałem dla mnie to ten link poniżej. Odpowiedź Marka Setchella była najlepsza dla tego problemu. stackoverflow.com/questions/28970935/…
user1896293
Odpowiedzi:
16
Prawdopodobnie będziesz chciał sprawdzić swoją zmienną $ PATH. gccZ homebrew powinny znajdować się w /usr/local/bini które powinny być wcześniej wersji Xcode z gcc/ clang.
Jeśli zmienisz zmienną PATH - pamiętaj, aby wylogować się z powłoki lub ponownie ją odpowiednio zmienić .
Ta odpowiedź ma również eleganckie rozwiązanie wykorzystujące aliasy - więc nie musisz nawet myśleć ani troszczyć się o ścieżkę, jeśli masz więcej niż jedną gcczainstalowaną.
Umieszczenie gcc homebrew wcześniej w zmiennej $ PATH niż wersja Xcode jest wystarczające, aby zagwarantować, że odniesienie do gcc homebrew będzie możliwe? Nie byłem pewien, jak będą działać podwójne definicje w $ PATH.
NeutronStar
2
Ścieżki zależą od kolejności. Umieszczenie / usr / local przed / usr to standardowy sposób na zastąpienie domyślnej aplikacji. Widziałem, jak ludzie stawiają przed tym ~ / bin.
Andrew Lazarus
2
Homebrew nie stawia gccsię /usr/local/bin. Ma to na celu zapewnienie zgodności, ponieważ wszystko byłoby wtedy używane gcczamiast clangkompilatora systemowego (który jest również aliasowany jako gcc). To, co robi, to umieszczenie linku do wersji w pliku, /usr/local/binnp gcc-8.
Utwórz nowe gccdowiązanie symboliczne pod /usr/local/bin/. Homebrew łączy własne gcc /usr/local/bin/gcc-<version>dla kompatybilności. Tak robię
ln -sf /usr/local/bin/gcc-4.9 / usr / local / bin / gcc
skieruje do /usr/local/bin/gccdowiązania do gcc-4.9zainstalowanej przez Homebrew które powinny przesłonić gccze /usr/binjeśli określa PATH /usr/local/binprzed /usr/bin.
Odpowiedzi:
Prawdopodobnie będziesz chciał sprawdzić swoją zmienną $ PATH.
gcc
Z homebrew powinny znajdować się w/usr/local/bin
i które powinny być wcześniej wersji Xcode zgcc
/clang
.Jeśli zmienisz zmienną PATH - pamiętaj, aby wylogować się z powłoki lub ponownie ją odpowiednio zmienić .
Ta odpowiedź ma również eleganckie rozwiązanie wykorzystujące aliasy - więc nie musisz nawet myśleć ani troszczyć się o ścieżkę, jeśli masz więcej niż jedną
gcc
zainstalowaną.źródło
gcc
się/usr/local/bin
. Ma to na celu zapewnienie zgodności, ponieważ wszystko byłoby wtedy używanegcc
zamiastclang
kompilatora systemowego (który jest również aliasowany jakogcc
). To, co robi, to umieszczenie linku do wersji w pliku,/usr/local/bin
npgcc-8
.możesz
gcc-7
zamiast tego użyćodniesienie https://github.com/Homebrew/legacy-homebrew/issues/40374
źródło
Jeśli
which gcc
dajeMasz dwie opcje:
Utwórz alias .
Utwórz nowe
gcc
dowiązanie symboliczne pod/usr/local/bin/
. Homebrew łączy własne gcc/usr/local/bin/gcc-<version>
dla kompatybilności. Tak robięln -sf /usr/local/bin/gcc-4.9 / usr / local / bin / gcc
skieruje do
/usr/local/bin/gcc
dowiązania dogcc-4.9
zainstalowanej przez Homebrew które powinny przesłonićgcc
ze/usr/bin
jeśli określa PATH/usr/local/bin
przed/usr/bin
.źródło