cmakelist中找不到opencv,Eigen(多版本opencv切换,cmakelist中路径正确却报找不到路径下的.hpp)

使用opencv

1. 在cmakelist里面

(1) 当存在多版本opencv时,下面的写法会使用默认版本。

find_package(OpenCV REQUIRED)

(2) 使用指定版本时:

# set(OpenCV_DIR "/home/liuxiangyue/其它/opencv-3.4.3/build")  #Liucx添加
set(OpenCV_DIR "/opt/ros/kinetic/include/opencv-3.3.1-dev")  #非不得已不建议使用此版本
find_package(OpenCV REQUIRED)

注意:opencv-3.3.1有坑,在有些代码中,像素的值与其它版本的像素值不一样,也会存在图像中某些地方显示不出来的情况。

(3) 当使用(2)后,发现在其它文件中调用opencv中的opencv2中的某些.hpp文件还是会报错。但是已经检查了该路径下确实有这些.hpp文件,例如报错:

此时是因为编译时opencv的链接地址还是没有找对。

解决方法如下:

参考链接:https://blog.csdn.net/mxs30443/article/details/89890258

(1) 查找系统中所有的OpenCVConfig.cmake文件:

      sudo find / -name OpenCVConfig.cmake

(2) 在CMakeList.txt中修改为:

      SET(OpenCV_DIR 上述的filepath)

      find_package(OpenCV  REQUIRED)

set(OpenCV_DIR "/opt/ros/kinetic/share/OpenCV-3.3.1-dev")  #Liucx添加
find_package(OpenCV REQUIRED)

 

使用Eigen

1. 在cmakelist里面

(1) 一般情况下使用:

find_package(Eigen3 REQUIRED)

(2) 当使用(1)报错找不到时,使用include直接包含绝对路径即可

include_directories("/usr/include/eigen3")

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值