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.

相关推荐
ChengQianO1 小时前
ROS2 导航播报 & 轨迹模拟 —— 计划
linux·ubuntu·ros
AttaGain4 小时前
【Ubuntu配置VLAN网络】
linux·网络·ubuntu
AI科技星4 小时前
基于wr/c + h/c = 1的螺旋线矢量特性及应用分析
c语言·开发语言·人工智能·opencv·算法·计算机视觉·r语言
我材不敲代码5 小时前
基于 OpenCV-SIFT 特征匹配的指纹识别系统实战
人工智能·opencv·计算机视觉
年纪青青6 小时前
NanoPi Neo移植笔记(U-Boot v2025.10 + Linux Kernel 6.18 + Ubuntu 24.04 根文件系统)
linux·笔记·ubuntu·nanopi neo·linux镜像
额1296 小时前
UBUNTU中nginx反向代理(负载均衡)
nginx·ubuntu·负载均衡
GY—Monkey6 小时前
ubuntu (V100)中 部署openclaw,并链接飞书
linux·ubuntu·飞书
sali-tec7 小时前
C# 基于OpenCv的视觉工作流-章41-模板匹配
图像处理·人工智能·opencv·算法·计算机视觉
强风7948 小时前
OpenCV基础入门
人工智能·opencv·计算机视觉
lijwsunyt8 小时前
Ubuntu虚拟机部署OpenClaw全踩坑实录|本地访问+模型配置一站式解决
linux·运维·ubuntu