随手记录 CMake: opencv2/opencv.hpp not found

前言

其实在ubuntu 18.04 melodic下,成功编译过,可能环境自己以前调过啥的。首次在新配置的 ubuntu20.04 下测试,有的这个问题。

随手记录 CMake: opencv2/opencv.hpp not found_第1张图片

编译代码:GPIR release版

为此专门重新rm了link来了一遍 hhh 解决起来比较快,但是值得记载一下,毕竟后面很多这个问题可以根据此思路来找

以下为参考

  1. https://askubuntu.com/questions/1256279/make-opencv2-opencv-hpp-not-found

  2. https://askubuntu.com/questions/398818/how-to-remove-symbolic-link

  3. https://askubuntu.com/questions/1145925/how-to-know-if-a-folder-is-a-symbolic-link

错误示意

相关细节性错误复制:

fatal error: opencv2/core/core.hpp: No such file or directory
   15 | #include 
      |          ^~~~~~~~~~~~~~~~~~~~~~~

心路历程

首先直接google一波,emm 查找了参考1,然后其实提问者差一点就能解决了,因为提问者已经找到了原因。也就是opencv2并不在usr/include里,在的东西叫opencv4,

然后opencv2/opencv.hpp 在opencv4文件夹内,所以我第一直觉的优雅解决法是:

直接软链接过去让他找到即可

第一步查看一下usr/include和open相近的文件夹是啥:

kin@kin-desktop: cd /usr/include/open
opencv4/       OpenEXR/       openjpeg-2.1@  openjpeg-2.3/  openni2/       openssl/       open/  

然后可以进入opencv4可以看到opencv2 也就这一个 我估计是… 安ros还是啥的 在20外面变了个名字 但是里面还是一致的

也就是说 直接ln 软链接过去就可以成功了,比如这样

sudo ln -s /usr/include/opencv4/opencv2 /usr/include/opencv2

其实很多的关于cannot found 如果真的安装好了,可能就是路径对不上而已,找到这个包找的是哪条路,然后确认那条路径是否有就可以了

最后重新再make就发现无此错误了~ 编译通过

随手记录 CMake: opencv2/opencv.hpp not found_第2张图片

你可能感兴趣的:(Ubuntu,&,ROS,opencv,ubuntu,人工智能)