2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 解决libstdc++.so.6: version `GLIBCXX_3.4.22' not found

解决libstdc++.so.6: version `GLIBCXX_3.4.22' not found

时间:2020-12-03 20:50:22

相关推荐

解决libstdc++.so.6: version `GLIBCXX_3.4.22' not found

系统Ubuntu16.04,使用的是Anaconda。

由于需要编译程序,需要用opencv,然后直接安装了

conda install opencv

出现了问题如下

ImportError: /home/pc314/anaconda3/envs/tensorflow/lib/python3.5/site-packages/zmq/backend/cython/../../../../.././libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by /home/pc314/anaconda3/envs/tensorflow/lib/python3.5/site-packages/../../libopencv_objdetect.so.3.3)

主要原因是程序的编译器的版本是比较低,缺少GLIBCXX_3.4.22,其实就是少了libstdc++.so.6.0.22。查一下存在这个东西存在哪里,

sudo find / -name 'libstdc++.so*'

这里面的东西存在于/usr/lib/和/home/pc314/anaconda3/envs/tensorflow/lib/ 网上好多是关于/usr/lib/下的问题,单纯的在/usr/lib/下修改时没有用的哦。因为编译环境在Anaconda里面。可以运行下面的命令看一下是是否真的缺少

strings /home/pc314/anaconda3/envs/tensorflow/lib/libstdc++.so.6 |grep GLIBCXX

安装

libstdc++.so.6.0.22下载地址,这个地址没找到,应该是有的。嫌麻烦直接在csdn里面下载了一个要积分的地址。

下载的文件是.deb文件,解压

cd Downloads/ar -x lib64stdc++6_6.2.0-5ubuntu12_i386.deb

得到一个data.tar.xz文件,解压

tar xvJf data.tar.xz

解压后的文件在Download/usr/lib64/里面

cd ./usr/lib64/

然后复制到目的文件夹里面

mv libstdc++.so.6.0.22 ~/anaconda3/envs/tensorflow/lib/

重新建立软连接

cd ~/anaconda3/envs/tensorflow/lib/rm libstdc++.so.6ln libstdc++.so.6.0.22 libstdc++.so.6

这里基本上就完成了

参考

/xiaolong2w/article/details/23915171

/zhu_charles/article/details/75914060

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。