Score:0

ฉันใช้ Ubuntu 20.04 LTS พยายามรับจาก GCC 9.4 เป็น gcc 10 หรือสูงกว่า

ธง cn

sudo apt-get ติดตั้ง gcc-10 g++-10:

กำลังอ่านรายการแพ็กเกจ...เสร็จแล้ว
สร้างต้นไม้พึ่งพา       
กำลังอ่านข้อมูลสถานะ...
g++-10 เป็นเวอร์ชันใหม่ล่าสุดแล้ว (10.3.0-1ubuntu1~20.04)
gcc-10 เป็นเวอร์ชันใหม่ล่าสุดแล้ว (10.3.0-1ubuntu1~20.04)
0 อัพเกรด, 0 ติดตั้งใหม่, 0 ที่จะลบและ 31 ไม่ได้อัพเกรด
<pre>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion=&apos;Ubuntu 9.4.0-1ubuntu1~20.04&apos; --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-yTrUTS/gcc-9-9.4.0/debian/tmp-nvptx/usr,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04)</pre>

ฉันยังใหม่กับ linux ดังนั้นหากมีอะไรอีกที่คุณต้องการ lmk

Nmath avatar
ng flag
`31 ไม่ได้อัพเกรด` ระบบของคุณไม่ทันสมัย เรียกใช้ `sudo apt update' ก่อนคำสั่งอื่น ๆ ใน 'apt' เสมอ และคุณควรดำเนินการอัปเดตด้วย 'sudo apt upgrade' ก่อนที่จะพยายามติดตั้งซอฟต์แวร์ใหม่ นอกจากนี้ เมื่อให้เอาต์พุตของคำสั่งแก่เรา อย่าลืมระบุคำสั่งที่แน่นอนและเอาต์พุตทั้งหมด อย่าให้ชิ้นส่วนเล็ก ๆ น้อย ๆ แก่เราเพราะคุณสามารถละเว้นข้อมูลการวินิจฉัยที่สำคัญได้
Score:1
ธง us

ป้อนคำสั่ง gcc-10 แทน จีซีซี เพื่อใช้ gcc-10

หรือคุณสามารถใช้คำสั่ง sudo update-alternatives --config gcc เลือก gcc-10 เป็น gcc เริ่มต้น ในทำนองเดียวกัน ใช้ sudo update-alternatives --config g++ เพื่อกำหนดค่าเวอร์ชัน g++ เริ่มต้น

cc flag
ค้นหาไซต์นี้สำหรับ "การอัปเดตทำให้คอมพิวเตอร์ของฉันเสียหาย" เพื่อดูผลที่ตามมาของการแทนที่เวอร์ชัน gcc เริ่มต้น เปลี่ยนค่าดีฟอลต์ gcc ของผู้ใช้โดยใช้กลไกอื่นๆ เช่น นามแฝง หรือลิงก์ gcc ใน $HOME/bin เพื่อหลีกเลี่ยงการอัปเดตที่ล้มเหลวในการคอมไพล์ไดรเวอร์วิดีโออีกครั้ง
us flag
@ubfan1 เหตุใดการอัปเดตจึงใช้ gcc เพื่อรวบรวมบางสิ่ง อย่าลังเลที่จะแก้ไขคำตอบของฉัน
Score:0
ธง cc

สำหรับ Ubuntu ทุกรุ่น คอมไพเลอร์ gcc เริ่มต้นจะถูกเลือกผ่านลิงค์ดังกล่าว เป็น /usr/bin/gcc ซึ่งลิงก์ไปยังคอมไพเลอร์ที่เรียกใช้งานได้จริง อาจผ่านลิงก์อื่น: /usr/bin/gcc -> gcc-9 -> x86_64-linux-gnu-gcc-9 นี่คือคอมไพเลอร์ที่ผ่านการตรวจสอบ/ทดสอบแล้วที่ใช้สำหรับรีลีส และไม่ว่าคุณจะเลือกคอมไพเลอร์เวอร์ชันใดสำหรับการใช้งานของคุณเอง ก็ไม่ควรเปลี่ยนค่าดีฟอลต์ของระบบ การอัปเดตเคอร์เนลอาจต้องสร้างโมดูลวิดีโอที่เป็นกรรมสิทธิ์ขึ้นใหม่จาก binary blobs ที่ผู้จำหน่ายให้มา และกระบวนการนี้ได้รับการทดสอบด้วยคอมไพเลอร์เริ่มต้น บางทีคอมไพเลอร์รุ่นหลังอาจใช้งานได้ แต่อาจไม่ทำให้คุณบูทเคอร์เนลล่าสุดโดยไม่มีโมดูลวิดีโอที่เป็นกรรมสิทธิ์เฉพาะ ทำให้เกิดปัญหาต่างๆ เช่น ความละเอียดต่ำ (จากไดรเวอร์วิดีโออื่น) หรือแม้แต่หน้าจอสีดำ อาจมีการติดตั้งคอมไพเลอร์หลายเวอร์ชัน แต่การติดตั้งเหล่านั้น อย่าเปลี่ยนลิงก์ /usr/bin/gcc คุณไม่ควรเปลี่ยนด้วยตนเอง ลิงก์นั้นด้วย และคุณไม่ควรใช้ทางเลือกในการอัปเดตเพื่อสลิปใหม่ คอมไพเลอร์ใน.

ผู้ใช้สามารถตั้งค่าสภาพแวดล้อมของตนเองเพื่อเรียกใช้คอมไพเลอร์ที่พวกเขาติดตั้ง ด้วยวิธีต่างๆ มากมาย ในกรณีของ 20.04 ด้วยคอมไพเลอร์ 9.4 เริ่มต้นและ คุณต้องการเรียกใช้คอมไพเลอร์ 10 ตัว คุณสามารถ:

  1. เรียกใช้ gcc-10 ตามชื่อ ใช้สิ่งนี้เพื่อจัดการหลายโครงการซึ่งแต่ละโครงการต้องการคอมไพเลอร์ที่แตกต่างกัน ชื่ออาจฝังอยู่ในไฟล์ข้อกำหนดโครงการ เช่น. ใน makefile GCC=gcc-10

  2. เพิ่มนามแฝงในไฟล์ .bashrc ของคุณ (หรือเทียบเท่าหากไม่ได้เรียกใช้ bash) นามแฝง gcc="/usr/bin/gcc-10" ด้วยวิธีนี้โครงการทั้งหมดของคุณจะได้รับคอมไพเลอร์เวอร์ชัน 10 พร้อมด้วย การเรียกใช้ gcc

  3. เพิ่มลิงก์ชื่อ gcc ในไดเร็กทอรีโฮมของคุณไปยังเวอร์ชันคอมไพเลอร์ที่เลือก สิ่งนี้ถือว่า $HOME/bin ของคุณอยู่ก่อนหน้าใน PATH ของคุณมากกว่า /usr/bin หรือ /bin สิ่งนี้จะทำให้ gcc เรียกใช้คอมไพเลอร์ที่คุณเลือกได้ทุกที่

4) ไฟล์กำหนดค่าเฉพาะโครงการอาจตั้งค่านามแฝงหรือลิงก์ในไดเร็กทอรี bin ของโครงการเพื่อควบคุมสิ่งที่เรียกใช้ gcc

เลือกกลไกที่เหมาะกับความต้องการของคุณมากที่สุด

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา