使用 devtoolset-10 更新 GLIBCXX

问题描述 投票:0回答:1

我们在 CentOS 7 中使用 devtoolset-10(操作系统中 gcc 的“实际”默认版本是 4.8.5,但在 devtoolset 中我们使用 10.2.1 版本,这是项目的真实实际版本)。

命令

gcc --version
返回10.2.1,但在目标文件编译失败后,我们运行
ldd target_file
,它表示target_file与
/lib64/libstdc++.so.6
文件链接,该文件支持旧版本的gcc(
strings -a /lib64/libstdc++.so.6 | grep GCC
返回4.8版本的gcc) )

TL;博士

问题:在

source <...>/devtoolset-10/enable
命令

之后取消链接gcc相关的共享对象和库
gcc centos7 rhel7 devtoolset
1个回答
2
投票

开发者工具集采用混合联动模型。使用它构建的程序尽可能使用系统

libstdc++
库。缺失的位(在更高版本的 C++ 版本中添加的位)将通过静态链接自动提供。

因此,开发人员工具集可用于使用较新的 GCC 版本来构建应用程序。但它不能用于运行在其他发行版上构建的应用程序,具有较新的 GCC 版本(假设这就是您想要做的)。

© www.soinside.com 2019 - 2024. All rights reserved.