jos*_*osh 7 gcc glibc libc libstdc++
假设我有以下本地 gcc, g++ 版本:
$ gcc -v
$ g++ -v
gcc version 6.3.1
Run Code Online (Sandbox Code Playgroud)
与我的编译器版本相比,我不理解以下内容的关系和含义:
这是指什么?
/usr/lib64/libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)
尝试运行二进制文件时出现此错误,这是GLIBCXX_3.4.20
指什么?为什么数字以3开头?
/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found
Run Code Online (Sandbox Code Playgroud)
这是什么?
$ 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
Run Code Online (Sandbox Code Playgroud)
ldd版本怎么样?
ldd --version
ldd (GNU libc) 2.17
Run Code Online (Sandbox Code Playgroud)
我无法将所有这些版本号链接在一起。