ติดตั้ง gcc ด้วย Homebrew ตอนนี้จะใช้ gcc นั้นแทน clang ได้อย่างไร?


23

ฉันติดตั้ง gcc ด้วยbrew install gccแต่เมื่อฉันพิมพ์gccพฤติกรรมเริ่มต้นยังคงใช้clangอยู่ ฉันจะกำหนดสิ่งต่าง ๆ เพื่อให้การพิมพ์gccในเทอร์มินัลใช้การgccติดตั้งโดย Homebrew โดยอัตโนมัติได้อย่างไร


1
ฉันได้ผ่านปัญหานี้และทำงานให้ฉันเป็นลิงค์ด้านล่างนี้ คำตอบจากMark Setchellนั้นดีที่สุดสำหรับปัญหานี้ stackoverflow.com/questions/28970935/…
user1896293

คำตอบ:


16

คุณอาจต้องการตรวจสอบตัวแปร $ PATH ของคุณ gccจาก homebrew ควรอาศัยอยู่ใน/usr/local/binและที่ควรจะก่อนรุ่น Xcode ของ/gccclang

หากคุณเปลี่ยนตัวแปร PATH - ให้แน่ใจว่าได้ออกจากระบบของเปลือกหรือทำเปลือกใหม่ตามความเหมาะสม

คำตอบนี้มีทางออกที่หรูหราโดยใช้นามแฝงเช่นกันดังนั้นคุณไม่ต้องคิดหรือสนใจเส้นทางหากคุณgccติดตั้งมากกว่าหนึ่งตัว


การวาง homebrew gcc ไว้ก่อนหน้านี้ในตัวแปร $ PATH กว่ารุ่น Xcode นั้นเพียงพอที่จะรับประกันว่าจะทำการอ้างอิง homebrew gcc หรือไม่ ฉันไม่แน่ใจว่าคำจำกัดความที่สองใน $ PATH จะทำงานอย่างไร
NeutronStar

2
เส้นทางขึ้นอยู่กับการสั่งซื้อ การวาง / usr / local ก่อนหน้า / usr เป็นวิธีมาตรฐานในการแทนที่แอปพลิเคชันเริ่มต้น ฉันเคยเห็นคนใส่ ~ / bin ก่อนหน้านั้น
Andrew Lazarus

2
Homebrew ไม่ได้ใส่ในgcc /usr/local/binนี่คือความเข้ากันได้เพราะทุกอย่างจะใช้gccแทนclangคอมไพเลอร์ระบบ(ซึ่งก็เป็นนามแฝงด้วยgcc) อะไรที่มันไม่ทำคือการใส่ลิงค์ใน versioned เช่น/usr/local/bin gcc-8
Jason


1

ถ้าwhich gccให้คุณ

> which gcc
/usr/bin/gcc

คุณมีสองทางเลือก:

  1. สร้างชื่อแทน

  2. สร้างใหม่ภายใต้gcc symlink /usr/local/bin/ลิงก์ Homebrew เป็นเจ้าของ gcc ภายใต้/usr/local/bin/gcc-<version>เพื่อความเข้ากันได้ ดังนั้นการทำ

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

จะชี้/usr/local/bin/gccsymlink ไปgcc-4.9ติดตั้งโดย Homebrew ซึ่งควรแทนที่gccจาก/usr/binถ้าระบุเส้นทางของคุณก่อน/usr/local/bin/usr/bin

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.