specifies ‘/usr/include/opencv‘ as an include dir, which is not found. It does neither exist as a

 问题分析:需要一个依赖项opencv,但是在路径/usr/include/opencv没找到,

目的:寻找/usr/include/opencv是为了访问opencv库的头文件,以便使用opencv,通过查找;

查看系统默认opencv 

pkg-config --modversion opencv

通过命令:

dpkg -l | grep libopencv

得到如下信息: 

 可以发现一个是3.4.19版本,一个是4.2.0版本,而我们的系统在编译和链接程序时,通常应该以 pkg-config --modversion opencv 输出的版本为准,

通过命令:

pkg-config --cflags opencv

 

查看opencv指定的头文件路径,其中 -I 指定了头文件路径

 我们也可以通过命令来查看4.2.0版本的opencv的头文件路径

pkg-config --cflags opencv4

我们的报错信息是 '/usr/include/opencv' as an include dir, which is not found. It does neither exist

这是因为我们想使用opencv3版本,而通过软件包管理器我们安装opencv3版本时会将头文件默认放置在路径/usr/include/opencv下,而安装opencv4版本时一般会安装在/usr/include/opencv4路径下,现在有两种解决办法,第一种是通过软件包管理器安装指定版本的opencv,第二种是手动版本,因为我已经手动编译安装了opencv3版本,因此制作一个符号链接就可以了,需要注意的是在我们执行以下命令之前,/usr/include/路径下没有opencv这个文件夹:

sudo ln -s /usr/local/include/opencv /usr/include/opencv

这条命令是在创建一个符号链接(symbolic link),将 `/usr/local/include/opencv` 这个路径链接到 `/usr/include/opencv`。

每个部分的含义:
- `sudo`: 使用超级用户权限执行命令。
- `ln -s`: 创建符号链接的命令。
- `/usr/local/include/opencv`: 要创建链接的源目录或文件。
- `/usr/include/opencv`: 要创建的符号链接的目标路径。

所以,这个命令的效果是在 `/usr/include` 目录下创建一个名为 `opencv` 的符号链接,它指向 `/usr/local/include/opencv` 这个目录。这样做的目的是为了在系统上创建一个通用的路径,使得 `/usr/include/opencv` 可以引用 `/usr/local/include/opencv` 下的文件,方便使用 OpenCV 库的开发者在编译时指定正确的头文件路径。

以后我们有什么软件包想找/usr/include/opencv路径的头文件,就会得到/usr/local/include/opencv下的文件

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值