20230822 Windows上使用find_package引入OpenCV报错

文章讲述了在Windows环境下打开Cmake项目时,因OpenCV找不到兼容配置的binaries而出现find_package错误。解决方法包括将OpenCV添加到系统环境变量或在Cmakelists中更改find_package的路径设置。需清除cmake缓存以确保更改生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息

打开Cmake项目时,find_package 报错:

在这里插入图片描述

  Found OpenCV Windows Pack but it has no binaries compatible with your
  configuration.

  You should manually point CMake variable OpenCV_DIR to your build of OpenCV
  library.

原因

大概率原项目是在 Linux 上开发的,Linux 上安装的 OpenCV 默认添加到了系统环境里,所以可以直接使用,但是 Windows 上的系统环境变量里没有OpenCV导致的

解决办法

有两种解决方案

  • 1. 将 OpenCV 添加到系统环境变量中
    将 OpenCV 添加到系统环境变量里,这样应该就能找到了, 我没试过,当理论上可以。不过感觉有点麻烦,建议使用第二种。
  • 2. Cmakelists 中添加查找 OpenCV 的路径
    一般情况下,Linux上都是这么写的,这其实只是find_package的module模式。
    在这里插入图片描述
    现在只需要切换成 Config 模式,并加上路径就行了
    需要注意两个点:
    • 修改之后,要把原本的cmake缓存都清理干净,不然不会生效
      在这里插入图片描述
      在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值