参考文献:
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
相关知识:
提示: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