Ubuntu在CMakeLists.txt中指定OpenCV版本的参考方法

文章目录

写在前面

自己的测试环境:

Ubuntu20.04, ROS-Noetic, OpenCV-4.2.0, OpenCV-4.5.4。

一、问题描述

编译运行OpenCV遇到如下报错:

bash 复制代码
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(4.5.4) /home/wong/third_party/opencv-4.5.4/modules/core/src/matrix.cpp:250: error: (-215:Assertion failed) s >= 0 in function 'setSize'

二、解决方法

出现上述报错的原因是 OpenCV 库版本不兼容的问题,因此需要在CMakeLists.txt中指定 OpenCV 4.2.0 的路径:

bash 复制代码
set(OpenCV_DIR /usr/lib/x86_64-linux-gnu/cmake/opencv4/)
find_package(OpenCV REQUIRED)
message("OpenCV_DIR: ${OpenCV_DIR}")
message("OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}")
message("OpenCV version: ${OpenCV_VERSION}")
# 打印结果
# OpenCV_DIR: /usr/lib/x86_64-linux-gnu/cmake/opencv4/
# OpenCV_INCLUDE_DIRS: /usr/include/opencv4
# OpenCV version: 4.2.0

然后重新编译,重新运行即可。

参考链接

[1] wonghome. OpenCV报错遇到 No rule to make target '/usr/lib/x86_64-linux-gnu/libopencv_dpm.s' 的参考解决方法 [EB/OL]. https://blog.csdn.net/qq_39779233/article/details/142202706, 2024-09-13/2024-09-13.

相关推荐
jndingxin14 小时前
OpenCV运动分析和目标跟踪(1)累积操作函数accumulate()的使用
人工智能·opencv·目标跟踪
温小二的徐凤年18 小时前
ubuntu 22.04 ~24.04 如何修改登录背景
linux·ubuntu·插件
小龙在慢慢变强..18 小时前
Ubuntu 软件仓库镜像使用帮助
linux·ubuntu·https
Karen_bluu18 小时前
ROS2 Humble如何初步使用Livox-mid-360激光雷达 (viewer/rviz)以及解决一些问题
ubuntu·机器人
慕羽★20 小时前
Git常用指令整理【新手入门级】【by慕羽】
linux·git·ubuntu·gitlab·github·仓库·分布式协作
一只小小程序猿1 天前
Python计算机视觉编程 第三章 图像到图像的映射
python·opencv·计算机视觉
Jorah1 天前
1. TypeScript基本语法
javascript·ubuntu·typescript
沥川同学1 天前
从零开始学习Linux(12)---进程间通信(信号量与信号)
linux·运维·服务器·学习·ubuntu
白茶等风121381 天前
OpenCV_图像旋转超详细讲解
人工智能·opencv·计算机视觉
IOT.FIVE.NO.11 天前
Linux实操笔记2 Ubuntu安装Nginx的不同方法
linux·笔记·ubuntu