Linux编译opencv python错误:ImportError:libjasper.so.1

我已经从源代码构建了opencv,并尝试在python中创建简单的程序,但是在终端中遇到此错误line 3, in moduleimport cv2ImportError: libjasper.so.1: cannot open shared object file: No such file or directory另外,...

我已经从源代码构建了opencv,并尝试在python中创建简单的程序,但是在终端中遇到此错误

 line 3, in <module>
 import cv2
 ImportError: libjasper.so.1: cannot open shared object file: No such file or directory

另外,当尝试在c中编译时,出现此错误

/usr/bin/ld: warning: libjasper.so.1, needed by 
/usr/local/lib/libopencv_imgcodecs.so.3.1.0, not found (try using -
rpath or -rpath-link)

谁能帮我解决这个问题?

解决方法:

我也使用Arch Linux并面临相同的问题,它与opencv链接到lib的方式有关.

如果执行ls -lah /usr/lib | grep libjasper它应该输出类似

-rw-r–r– 1个根569K nov 21 16:59 libjasper.a
lrwxrwxrwx 1根根11月18日21:59 libjasper.so-> libjasper.so.4.0.0
lrwxrwxrwx 1根根11月18日21:59 libjasper.so.4-> libjasper.so.4.0.0
-rwxr-xr-x 1根根342K nov 21 16:59 libjasper.so.4.0.0

本身并没有错,安装了libjasper,问题与版本有关,由于某种原因,当opencv要求使用libjasper.so.x版本的lib时,它应该像libjasper.so这样要求它.转指向libjasper.so.4,它指向…,依此类推.

我解决了创建指向lib的符号链接的问题
须藤ln -s /usr/lib/libjasper.so /usr/lib/libjasper.so.1

尽管这不是实现此目的的最佳方法(也许可以更好地手动编译libjasper),但它可能是最快的方法,并且有效.

您可以看到尝试再次运行脚本的结果.

本文标题为:Linux编译opencv python错误:ImportError:libjasper.so.1

基础教程推荐