我们在 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 相关的共享对象和库