主要参考:解决libstdc++.so.6: version `GLIBCXX_3.4.22' not found
在具体解决时发现原作者的方法有一些地方描述的不是很好,这里仅对该文章的解决方案做了一点小的调整
出现错误如下:
1. ImportError: /home/pc314/anaconda3/envs/tensorflow/lib/python3.5/site-packages 2. /zmq/backend/cython/../../../../.././libstdc++.so.6: version `GLIBCXX_3.4.22' not found 3. (required by /home/pc314/anaconda3/envs/tensorflow/lib/python3.5/site-packages/../../libopencv_objdetect.so.3.3) 4.
主要原因是程序的编译器的版本是比较低,缺少GLIBCXX_3.4.22,其实就是少了libstdc++.so.6.0.22。
查一下存在这个东西存在哪里:
sudo find / -name 'libstdc++.so*'
这里主要是看:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22' not found
注意:这里libstdc++.so.6.0.22存放的地址/usr/lib/x86_64-linux-gnu/就要具体情况具体分析了。
安装
libstdc++.so.6.0.22下载地址:百度网盘链接:https://pan.baidu.com/s/1LYYunluIx7Dphza0uJI9xA 提取码:dn9a
下载的文件是.deb文件,解压
1. cd Downloads/ 2. ar -x lib64stdc++6_6.2.0-5ubuntu12_i386.deb
得到一个data.tar.xz文件,解压
tar xvJf data.tar.xz
解压后的文件在Download/usr/lib64/里面
cd ./usr/lib64/
然后复制到之前报错的文件夹里面,我这里是/usr/lib/x86_64-linux-gnu/
mv libstdc++.so.6.0.22 /usr/lib/x86_64-linux-gnu/
重新建立软连接
1. cd /usr/lib/x86_64-linux-gnu/ 2. rm libstdc++.so.6 3. ln libstdc++.so.6.0.22 libstdc++.so.6
这里基本上就完成了
文章知识点与官方知识档案匹配,可进一步学习相关知识
CS入门技能树Linux入门初识Linux25857 人正在系统学习中
AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!