opencv3升级opencv4.1.0常见error

头文件
 

#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
//#include <opencv2/imgcodecs/imgcodecs_c.h>
#include <opencv2/imgcodecs/legacy/constants_c.h> //opencv4
#include<opencv2/highgui/highgui.hpp>

 

其他



这是最近遇到的一个麻烦问题,在编写基于opencv的程序,编译后,运行时,报这样的错误:“libopencv_core.so.4.1: cannot open shared object file: No such file or directory”

我安装的是opencv4.1的版本,习惯上,具有多个版本的库,我不会安装在默认位置。所以,我将opencv安装在了一个独立目录下。注:安装在默认位置可能不会出现该问题。

出现这一问题时,我是在编写webot的控制器,通过webot的makefile文件包含该库,我确认没有语法上的错误。

参考:https://github.com/cggos/dip_cvqt/issues/1

该方案可行。

    在/etc/ld.so.conf.d目录下创建文件:opencv.conf
    写入libopencv_core.so.4.1的目录位置,如“/usr/local/lib”
    运行命令sudo ldconfig -v
    问题解决

限于知识有限,还未明白这一问题的本质是什么。猜测1:makefile文件里写的链接目录语句并未生效,如-L”/usr/local/lib”;2:系统生成了某种opencv的默认配置文件,将libopencv_core.so.4.1指向了默认安装位置,且优先度高于makefile文件。总之就是一个bug……

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值