【发布时间】:2019-11-08 21:55:24
【问题描述】:
假设我有以下本地 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
我无法将所有这些版本号链接在一起。
【问题讨论】: