跳转至

opencv apt-get 重新安装

debian环境下懒得从源码安装依赖包,直接 apt-get install libopencv-dev 安装开发包。最近因为其他原因导致/usr/lib/x86_64-linux-gnu下部分opencv的so文件被误删除。因此干脆重新安装libopencv-dev。

但是执行apt-get remove libopencv-dev 后重新执行 apt-get install libopencv-dev 重新编译基于opencv的代码时,发现大量的link错误,仔细看都是链接到 .a 静态库上,理论上同一个目录下相同lib的静态库和动态库都存在,会使用动态库进行链接 image.png

进入/usr/lib/x86_64-linux-gnu找了报错的链接到静态库的lib查看,发现so文件链接的原始文件根本不存在,如下图;libopencv_stitching.so.4.5 文件不存在 image.png

这是remove libopencv-dev的时候,有依赖的lib没有移除,重新安装libopencv-dev的时候导致相关的文件没有被重新安装进来

执行 apt list --installed | grep opencv 查看所有跟opencv相关的lib image.png 把所有lib全部remove掉,重新执行 apt-get install libopencv-dev。 环境恢复