gpt4 book ai didi

gcc - 更详细地了解 gcc 版本和 GLIBC、GLIBCXX 版本

转载 作者:行者123 更新时间:2023-12-04 11:28:29 60 4
gpt4 key购买 nike

假设我有以下本地 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

我无法将所有这些版本号链接在一起。

最佳答案

I can't link all these version numbers together.



正如评论中已经提到的, ABI page告诉你 GLIBCXX_...之间的关系和 g++版本。 GLIBCXX_3.4.20对应于 g++-4.9.0 .

既然你有 g++-6.3.1 ,您应该拥有 libstdc++.so.6 的版本与 GLIBCXX_3.4.22在里面,但你显然没有。

看起来您有多个版本的 libstdc++.so.6 : 一中 /lib64另一个在 /usr/lib64 .我猜其中一个是旧的,根本不应该在系统上。

附言GLIBC 的版本与您的问题无关,无关紧要。

关于gcc - 更详细地了解 gcc 版本和 GLIBC、GLIBCXX 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56781513/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com