จะใช้ GCC 4.7 แทน 4.6 ได้อย่างไร


8

ดังนั้นฉันจึงทำงานในโครงการและฉันต้องการใช้คุณสมบัติ C11 บางอย่างสำหรับ C. เพื่อใช้คุณสมบัติเหล่านั้นต้องใช้ GCC 4.7 ดังนั้นฉันจึงไป synaptic และค้นหา 4.7 และฉันพบแพ็คเกจ gcc-4.7-base ดังนั้นฉัน ติดตั้งมัน [1]

ดังนั้นตอนนี้ติดตั้ง gcc-4.7- เบสแล้วฉันคาดว่าจะสามารถใช้ 4.7 ได้ แต่ไม่เมื่อฉันgcc --versionยังคงแสดง 4.6.3 มากขึ้นเมื่อฉันพยายามโทรโดยตรง 4.7 (ผ่าน/usr/bin/gcc-4.7) มันไม่มีอยู่ แม้ว่าการgcc-4.6ปฏิบัติการจะมีอยู่

ฉันจะ "เปิดใช้งาน" GCC 4.7 ได้อย่างไร ฉันอ่านที่นี่คุณทำเรื่องบ้า ๆ บอ ๆupdate-alternativesแต่มันไม่ได้ผลสำหรับฉันเพราะการgcc-4.7ปฏิบัติการไม่มีอยู่จริงบนเครื่องของฉัน

หมายเหตุ: 1. ฉันเห็น gcc-4.6-base ด้วยดังนั้นฉันจึงคิดว่าฉันจะถอนการติดตั้ง แต่ synaptic พยายามที่จะลบทุกแพ็คเกจที่ฉันติดตั้งและติดตั้ง Java runtime ดังนั้นด้วยเหตุผลที่ชัดเจนว่าฉันตัดสินใจไม่ลบมัน

คำตอบ:


13

ต่อไปนี้ใช้งานได้สำหรับฉัน

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 
sudo update-alternatives --config gcc

แหล่งอ้างอิง


ฉันไม่คิดว่านี่เป็นคำตอบของคำถามเนื่องจากกลุ่ม OP ระบุว่าupdate-alternativesเส้นทางไม่ทำงานสำหรับพวกเขาเนื่องจากพวกเขาไม่มีไบนารี gcc-4.7 อันที่จริงพยายามทำตามคำแนะนำในคำตอบนี้หลังจากติดตั้งผลลัพธ์ gcc-4.7-base ในข้อผิดพลาด:update-alternatives: error: alternative path /usr/bin/gcc-4.7 doesn't exist.
waldyrious

0

gccไบนารีอยู่ในแพคเกจไม่ได้gcc-X.Y gcc-X.Y-baseหลังเป็นขึ้นของทั้งสองหรือgcc-X.Ylibstdc++

โดยทั่วไปคุณควรติดตั้งgcc-4.7แล้วเรียกมันว่าเป็นgcc-4.7จาก makefile ของคุณหรือใช้install-alternativesเพื่อให้เป็นค่าเริ่มต้น

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