importerror: libavcodec.so.54: cannot open shared object file: No such file or directory

在安装Caffe后尝试导入CV2时遇到importerror:libavcodec.so.54无法打开共享对象文件。尝试通过autoremove和install libopencv-dev解决问题,但未成功。分析可能与动态链接库、opencv版本和环境变量有关。通过运行opencv自带的摄像头程序验证问题,最后通过重新安装opencv解决了问题。

参考文献:

1,关于两个问题的分析:http://blog.chinaunix.net/uid-23069658-id-4028681.html 

2,    指令:https://blog.csdn.net/flydream0/article/details/8620396

3, 关于dev:https://blog.csdn.net/wangjianno2/article/details/52264814

4,关于:sudo apt-get autoremove libopencv-dev指令:https://blog.csdn.net/l18930738887/article/details/54696148


在尝试装了caffe之后(虽然没成功),在pycharm中写import CV2.就报错: importerror: libavcodec.so.54: cannot open shared object file: No such file or directory

    相关知识:

1,安装caffe的时候,有如下问题

提示:libopencv_imgproc.so.3.1, may conflict with liopencv_imgproc.so.2.4

所以我就输入了sudo apt-get autoremove libopencv-dev


考虑是因为这句话做的鬼。于是sudo install libopencv-dev.

   -dev这表示是软件包的意思

 相关指令学习,见参考文献2.据了解autoremove不要轻易使用

  但是问题还是没有解决

2,分析报错原因:

(1)  参见参考文献1(有点难懂)。就是说不要随意添加export之类的。

(2).so       是与动态链接库有关的东西。依赖的头文件信息,两个软件的纽带,差不多这个意思吧。


            网上大多数答案,都是在确保.so确实已经在应该在的位置了。然后改的环境变量,或者安装fmpeg

 (3)后来考虑是不是opencv本身出了问题,所以,使用验证

  下面就用opencv自带的摄像头程序测试一下吧。

    用cd 进入到opencv-3.3.1/samples/cpp/example_cmake目录下.(不要拼写错误)

          [此时我们可以使用如下命令查看该文件夹下面有什么。]

                             ls

(实际上里面是一个cmake的example)

按顺序执行

cmake .
make
./opencv_example

果然,仍然提示importerror: libavcodec.so.54: cannot open shared object file: No such file or directory

所以,我决定重新安装opencv。然后这个问题,就解决了。

3,今天读了Denny的学习笔记http://www.cnblogs.com/denny402/p/5088399.html。也提到了这个问题

也许你在编译runtest的时候,会报这样的错误:

.build_release/test/test_all.testbin: error while loading shared libraries: libhdf5.so.10: cannot open shared object file: No such file or directory

这是因为 libhdf5.so的版本问题,你可以进入/usr/lib/x86_64-linux-gnu看一下,你的libhdf5.so.x中的那个x是多少,比如我的是libhdf5.so.7

 因此可以执行下面几行代码解决:

# cd /usr/lib/x86_64-linux-gnu
# sudo ln -s libhdf5.so.7 libhdf5.so.10
# sudo ln -s libhdf5_hl.so.7 libhdf5_hl.so.10
# sudo ldconfig
可是,我并没有找到那个libhdf5.so.x


 


评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值