Предположим, у меня есть следующая локальная версия gcc, g ++:
$ gcc -v
$ g++ -v
gcc version 6.3.1
Я не понимаю отношение и значение следующего по сравнению с моей версией компилятора:
К чему это относится?
/usr/lib64/libstdc++.so.6
Попытка запустить двоичный файл, и я получаю эту ошибку, что означает GLIBCXX_3.4.20
? почему число начинается с 3?
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
Что все это значит?
$ strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
Как насчет ldd версии?
ldd --version
ldd (GNU libc) 2.17
Я не могу связать все эти номера версий вместе.