Điểm:0

Tôi đang sử dụng Ubuntu 20.04 LTS để cố chuyển từ GCC 9.4 sang gcc 10 trở lên

lá cờ cn

sudo apt-get cài đặt gcc-10 g++-10:

Đang đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
g++-10 đã là phiên bản mới nhất (10.3.0-1ubuntu1~20.04).
gcc-10 đã là phiên bản mới nhất (10.3.0-1ubuntu1~20.04).
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 31 chưa nâng cấp.
<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>

Tôi mới sử dụng linux vì vậy nếu có bất cứ điều gì khác bạn cần lmk

Nmath avatar
lá cờ ng
`31 không được nâng cấp`. Hệ thống của bạn không được cập nhật. Luôn chạy `sudo apt update` trước bất kỳ lệnh nào khác trong `apt` và bạn nên thực hiện cập nhật với `sudo apt upgrade` trước khi thử cài đặt phần mềm mới. Ngoài ra, khi cung cấp cho chúng tôi đầu ra của các lệnh, hãy đảm bảo cung cấp chính xác lệnh và toàn bộ đầu ra. Đừng cung cấp cho chúng tôi thông tin chi tiết vì bạn có thể bỏ qua thông tin chẩn đoán cần thiết.
Điểm:1
lá cờ us

Nhập lệnh gcc-10 thay vì gcc để sử dụng gcc-10.

Ngoài ra, bạn có thể sử dụng lệnh Sudo update-alternatives --config gcc chọn gcc-10 làm gcc mặc định. Tương tự, sử dụng Sudo update-alternatives --config g++ để định cấu hình phiên bản g ++ mặc định.

lá cờ cc
Tìm kiếm trang web này cho "bản cập nhật đã phá vỡ máy tính của tôi" để biết một số hậu quả của việc thay thế phiên bản gcc mặc định. Thay đổi mặc định gcc của người dùng, thông qua một số cơ chế khác, chẳng hạn như bí danh hoặc liên kết gcc trong $HOME/bin để tránh bản cập nhật không thể biên dịch lại trình điều khiển video.
lá cờ us
@ ubfan1 Tại sao bản cập nhật lại sử dụng gcc để biên dịch nội dung nào đó? Vui lòng chỉnh sửa câu trả lời của tôi.
Điểm:0
lá cờ cc

Đối với bất kỳ bản phát hành Ubuntu nào, trình biên dịch gcc mặc định được chọn thông qua một liên kết như vậy dưới dạng /usr/bin/gcc liên kết với trình biên dịch thực tế có thể thực thi được, có thể thông qua các liên kết khác: /usr/bin/gcc -> gcc-9 -> x86_64-linux-gnu-gcc-9 Đây là trình biên dịch đã được xác thực/thử nghiệm được sử dụng cho bản phát hành và bất kể bạn chọn phiên bản trình biên dịch nào cho mục đích sử dụng của riêng mình, thì không nên thay đổi mặc định của hệ thống. Các bản cập nhật hạt nhân có thể cần phải xây dựng lại các mô-đun video độc quyền từ các đốm màu nhị phân do nhà cung cấp cung cấp và quá trình này được kiểm tra bằng trình biên dịch mặc định. Có thể trình biên dịch mới hơn sẽ hoạt động, nhưng cũng có thể không, khiến bạn khởi động kernel mới nhất mà không có mô-đun video độc quyền thích hợp, gây ra các sự cố như độ phân giải thấp (từ trình điều khiển video khác) hoặc thậm chí màn hình đen. Nhiều phiên bản trình biên dịch có thể được cài đặt, nhưng những cài đặt đó không thay đổi liên kết /usr/bin/gcc. Bạn không nên thay đổi thủ công liên kết đó, bạn cũng không nên sử dụng các giải pháp thay thế cập nhật để trượt một liên kết mới trình biên dịch trong.

Người dùng có thể thiết lập môi trường của riêng họ để chạy bất kỳ trình biên dịch nào họ cài đặt thông qua bất kỳ số cách nào. Trong trường hợp 20.04 với trình biên dịch 9.4 mặc định và bạn muốn chạy trình biên dịch 10, bạn có thể:

  1. Gọi gcc-10 theo tên. Sử dụng công cụ này để quản lý nhiều dự án, mỗi dự án cần một trình biên dịch khác nhau. Tên có thể được nhúng trong các tệp định nghĩa dự án, ví dụ. trong tệp thực hiện GCC=gcc-10

  2. Thêm bí danh vào tệp .bashrc của bạn (hoặc tương đương nếu không chạy bash). bí danh gcc="/usr/bin/gcc-10" Bằng cách này, tất cả các dự án của bạn sẽ nhận được phiên bản 10 của trình biên dịch với lời gọi của gcc.

  3. Thêm một liên kết có tên gcc trong thùng của thư mục chính của bạn vào phiên bản trình biên dịch đã chọn. Điều này giả sử $HOME/bin của bạn sớm hơn trong PATH của bạn so với/usr/bin hoặc/bin. Một lần nữa, điều này sẽ cho phép gcc gọi trình biên dịch đã chọn của bạn ở mọi nơi.

4) các tệp cấu hình cụ thể của dự án có thể thiết lập bí danh hoặc liên kết trong thư mục bin của dự án để kiểm soát những gì gcc gọi.

Chọn cơ chế phù hợp nhất với nhu cầu của bạn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.