Puncte:0

Folosesc ubuntu 20.04 LTS încercând să trec de la GCC 9.4 la gcc 10 sau mai mare

drapel cn

sudo apt-get install gcc-10 g++-10:

Citirea listelor de pachete... Gata
Construirea arborelui de dependență       
Citirea informațiilor despre stare... Gata
g++-10 este deja cea mai nouă versiune (10.3.0-1ubuntu1~20.04).
gcc-10 este deja cea mai nouă versiune (10.3.0-1ubuntu1~20.04).
0 actualizate, 0 instalate nou, 0 de eliminat și 31 neactualizate.
<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>

Sunt nou în Linux, așa că dacă mai aveți nevoie de ceva lmk

Nmath avatar
drapel ng
`31 nu a fost actualizat`. Sistemul dvs. nu este actualizat. Rulați întotdeauna `sudo apt update` înainte de orice altă comandă din `apt` și ar trebui să efectuați actualizări cu `sudo apt upgrade` înainte de a încerca să instalați un nou software. De asemenea, atunci când ne oferiți rezultatul comenzilor, asigurați-vă că furnizați comanda exactă și întreaga ieșire. Nu ne dați fragmente pentru că puteți omite informații esențiale de diagnosticare.
Puncte:1
drapel us

Introdu comanda gcc-10 în loc de gcc pentru a utiliza gcc-10.

Alternativ, puteți utiliza comanda sudo update-alternatives --config gcc a alege gcc-10 ca gcc implicit. În mod similar, folosiți sudo update-alternatives --config g++ pentru a configura versiunea implicită g++.

drapel cc
Căutați pe acest site „actualizarea mi-a spart computerul” pentru unele dintre consecințele înlocuirii versiunii implicite gcc. Modificați valoarea implicită gcc a utilizatorului, printr-un alt mecanism, cum ar fi un alias sau o legătură gcc în $HOME/bin pentru a evita ca o actualizare să nu recompileze un driver video.
drapel us
@ubfan1 De ce ar folosi o actualizare gcc pentru a compila ceva? Simțiți-vă liber să-mi editați răspunsul.
Puncte:0
drapel cc

Pentru orice versiune Ubuntu, compilatorul gcc implicit este selectat printr-un astfel de link ca /usr/bin/gcc care se leagă la executabilul real al compilatorului, poate prin alte link-uri: /usr/bin/gcc -> gcc-9 -> x86_64-linux-gnu-gcc-9 Acesta este compilatorul validat/testat folosit pentru lansare și, indiferent de versiunea de compilator pe care o selectați pentru uzul dvs., nu este o idee bună să schimbați valoarea implicită a sistemului. Este posibil ca actualizările kernelului să fie nevoie să reconstruiască module video proprietare din blob-uri binare furnizate de furnizor, iar acest proces este testat cu compilatorul implicit. Poate că un compilator ulterior va funcționa, dar s-ar putea să nu, lăsându-vă să porniți cel mai recent kernel fără modulul video proprietar adecvat, cauzând probleme precum rezoluția scăzută (din alt driver video) sau chiar un ecran negru. Pot fi instalate mai multe versiuni de compilator, dar acele instalări nu modificați legătura /usr/bin/gcc. Nu ar trebui să schimbați manual nici acel link și nici nu ar trebui să utilizați alternative de actualizare pentru a introduce un nou compilator în.

Un utilizator își poate configura propriul mediu pentru a rula orice compilator pe care îl instalează prin mai multe moduri. În cazul 20.04 cu un compilator implicit 9.4 și dacă doriți să rulați un compilator 10, puteți:

  1. Invocați gcc-10 după nume. Utilizați acest lucru pentru a gestiona mai multe proiecte, fiecare care necesită un compilator diferit. Numele poate fi încorporat în fișierele de definire a proiectului, de exemplu. într-un makefile GCC=gcc-10

  2. Adăugați un alias la fișierul dvs. .bashrc (sau echivalent dacă nu rulați bash). alias gcc="/usr/bin/gcc-10" În acest fel, toate proiectele dvs. vor primi versiunea 10 a compilatorului cu invocarea lui gcc.

  3. Adăugați un link numit gcc în coșul directorului dvs. principal la versiunea de compilator selectată. Aceasta presupune că $HOME/bin este mai devreme în PATH decât /usr/bin sau /bin. Din nou, acest lucru va permite gcc să invoce compilatorul selectat peste tot.

4) fișierele de configurare specifice proiectului pot configura aliasuri sau legături în directoarele bin de proiect pentru a controla ceea ce invocă gcc.

Alegeți mecanismul care se potrivește cel mai bine nevoilor dvs.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.