最近研究要搞最新的C++相关内容,更新了下gcc,到了gcc (GCC) 14.0.0 20230506 (experimental)这个版本,然后gcc/g++编译代码出错如下:
问题就是默认路径下的libstdc++.so.6缺少GLIBCXX_3.4.32,解决方法如下:
1.strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
使用这个命令看一下当前系统有哪些版本
我的系统中最后只到了3.4.28,所以明显缺少3.4.32. 继续走流程吧
2.使用这个命令看一下其他的同类型文件
sudo find / -name "libstdc++.so.6*"
我这里显示的最下方有一个6.0.32,最新,完全OK
使用前用这个命令看一下是否包含你所缺的文件:
string 刚才最下方的完整路径 grep GLIBCXX
OK,包含,可以继续了
3.现在就要建立一个新的软链接到这个文件上
#复制
sudo cp 刚才最下方的完整路径 /usr/lib/x86_64-linux-gnu/
#删除原来的软链接
sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#建立一个新的
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.32 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
OK,./a.out后没有问题了,新特性开跑吧!