解决 libstdc++.so.6: version `GLIBCXX_3.4.14’ not found 问题
在ubuntu 上运行某个程序时候报这个错误(常见错误,所以说是某个程序,是泛指)
出现这种问题是因为当前程序运行所需的 libstdc++ 库版本不匹配,程序搜索库找不到对应的版本
例子:我这里是ubuntu 16.04 运行 matlab 出现的问题
如图:
注意库路径
/usr/local/MATLAB/R2017b/bin/glnxa64/../../sys/os/glnxa64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libproxy.so.1)
所以到 出现问题的 库路径下
cd /usr/local/MATLAB/R2017b/bin/glnxa64/../../sys/os/glnxa64
执行命令 ll |grep stdc++
或者 strings libstdc++.so.6 | grep GLIBCXX
查看
如上图所示,果然没有发现 GLIBCXX_3.4.21 或者 libstdc++.so.6.0.21
libstdc++.so.6: version `GLIBCXX_3.4.21’ , 即是 libstdc++.so.6.0.21
所以要找到 libstdc++.so.6.0.21
建立软连接到libstdc++.so.6
即可
在本地查找输入命令
locate libstdc++.so.6.0.21
使用这个
/usr/lib64/libstdc++.so.6.0.21
复制到出现问题的 库路径下
/usr/local/MATLAB/R2017b/bin/glnxa64/../../sys/os/glnxa64
执行以下命令
sudo rm -rv libstdc++.so.6
sudo cp -rv /usr/lib64/libstdc++.so.6 /usr/local/MATLAB/R2017b/sys/os/glnxa64
sudo cp -rv /usr/lib64/libstdc++.so.6.0.21 /usr/local/MATLAB/R2017b/sys/os/glnxa64