ld 链接器找不到 so 库
一、问题描述
使用RK1808计算棒开发过程中,编译 demo 程序时遇到报错:
ld 链接器找不到 opencv_imgcodecs 和 opencv_videoio 这两个动态库,导致编译失败
二、问题思考
编译提示缺少这两个库,那我们先找一下我们安装的 opencv 库
pkg-config opencv --libs
结果如下:
然后和 cmake 文件进行对比
报错的两个动态库确实没用,可能的原因是 opevcv 的版本不对,不支持编译 cmake 语句文件的那两个报错的动态库
三、解决方式
解决方法想到有两个:
- 更换 opencv 版本,安装支持这两个库的版本
- 目前版本的动态库应该也对其支持,可以换一个动态库试试
我先试试第二种方法,opencv_videoio 是用来读取视频和摄像头,换成 opencv_video,opencv_imgcodecs 图片编码,换成 opencv_photo,重新编译
编译成功,程序执行也没问题,这个方法不是很完美,这个肯定是版本原因,具体要搜索各个版本间的特性,换版本编译