Homebrew ile gcc yüklendi, şimdi clang yerine o gcc nasıl kullanılır?


23

Ben gcc ile yükledim brew install gcc, ama ben yazarken gccvarsayılan davranış hala kullanmaktır clang. gccTerminalde yazmanın gccHomebrew tarafından kurulan otomatik olarak kullanılması için işleri nasıl ayarlarım ?


1
Bu konuyu inceledim ve benim için çalıştım aşağıdaki bağlantı oldu. Mark Setchell'in cevabı bu sorun için en iyisiydi . stackoverflow.com/questions/28970935/…
user1896293 18:18

Yanıtlar:


16

Muhtemelen $ PATH değişkeninizi incelemek isteyeceksiniz. gccHomebrew gelen bulunması gerektiğini /usr/local/binve bunun Xcode sürümü öncesinde olmalıdır gcc/ ' clang.

PATH değişkenini değiştirirseniz - kabuktan çıkış yaptığınızdan veya kabuğu gerektiği gibi yeniden şekillendirdiğinizden emin olun .

Bu cevabın takma adları kullanarak zarif bir çözümü var - bu yüzden birden fazla gccyüklüyse yolu düşünmeniz veya umursamanız gerekmez .


Homebrew gcc'yi $ PATH değişkenine Xcode sürümünden daha erken koymak, homebrew gcc'ye referans verileceğini garanti etmek için yeterli mi? $ PATH çift tanımlarının nasıl çalışacağından emin değildim.
NeutronStar

2
Yollar sıraya bağlıdır. / Usr / local komutunu / usr önüne koymak, varsayılan uygulamayı geçersiz kılmanın standart bir yoludur. İnsanların bunun üzerine bir ~ / bin koyduğunu gördüm.
Andrew Lazarus

2
Homebrew koymuyor gcciçinde /usr/local/bin. Bu, gccsistem clangderleyicisi yerine her şeyin kullanacağı gibi uyumluluk içindir (aynı zamanda diğer ad olarak da adlandırılır gcc). Yaptığı şey /usr/local/bingibi sürümlü bir bağlantı koymaktır gcc-8.
Jason


1

Eğer which gccverirse

> which gcc
/usr/bin/gcc

İki seçeneğiniz var:

  1. Bir takma ad oluşturun .

  2. gccAltında yeni bir sembolik bağlantı yapın /usr/local/bin/. Homebrew /usr/local/bin/gcc-<version>, uyumluluk için kendi gcc altını bağlar . Yani,

    ln -sf /usr/local/bin/gcc-4.9 / usr / local / bin / gcc

, Homebrew tarafından yüklenen ve PATH'nizin daha önce belirtmesi durumunda kimden geldiğini geçersiz kılan bir /usr/local/bin/gccsymlink'i gösterecektir .gcc-4.9gcc/usr/bin/usr/local/bin/usr/bin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.