În trecut, ignoranța mea m-a determinat să mă încurc cu versiunea gcc/g++. De moment, folosesc Ubuntu 18.04 și alergând gcc --version
mi-a dat asta:
gcc (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0
Drepturi de autor (C) 2018 Free Software Foundation, Inc.
Acesta este software gratuit; consultați sursa pentru condițiile de copiere. Nu este
garanție; nici măcar pentru VANTABILITATE sau ADEPTEREA PENTRU UN ANUMIT SCOP.
Cu toate acestea, după câteva depanări, mi-am dat seama că libstdc++.so.6 se conectează cu versiunea greșită. Am știut despre asta alergând ls -l /usr/lib/x86_64-linux-gnu/libstdc++.so.6
, care mi-a dat:
lrwxrwxrwx 1 root root 19 mai 19 2020 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.28
Verificarea față de ABI, se pare că a venit de la gcc 9.3.0, pe care îmi amintesc că l-am instalat la un moment dat. Acest lucru mi-a provocat niște erori ciudate la programarea C++.
Acum, aș dori să conectez libstdc++.so.6 înapoi la gcc 8, dar nu sunt sigur care este modalitatea mai puțin idioată de a face asta. Ar trebui să încerc să elimin GCC 9 și să reinstalez GCC 8?
Alergare localizați libstdc++.so.6
mi-a dat asta:
/opt/nvidia/nsight-systems/2020.3.2/host-linux-x64/libstdc++.so.6
/opt/nvidia/nsight-systems/2020.3.2/target-linux-armv8/host-linux-armv8/libstdc++.so.6
/snap/core18/1988/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core18/1988/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
/snap/core18/1988/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py
/snap/core18/2066/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/snap/core18/2066/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
/snap/core18/2066/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25-gdb.py
/usr/lib/i386-linux-gnu/libstdc++.so.6
/usr/lib/i386-linux-gnu/libstdc++.so.6.0.28
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28
/usr/share/gdb/auto-load/usr/lib/i386-linux-gnu/libstdc++.so.6.0.28-gdb.py
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28-gdb.py