前言
其实在ubuntu 18.04 melodic下,成功编译过,可能环境自己以前调过啥的。首次在新配置的 ubuntu20.04 下测试,有的这个问题。
编译代码:GPIR release版
为此专门重新rm了link来了一遍 hhh 解决起来比较快,但是值得记载一下,毕竟后面很多这个问题可以根据此思路来找
以下为参考
-
https://askubuntu.com/questions/1256279/make-opencv2-opencv-hpp-not-found -
https://askubuntu.com/questions/398818/how-to-remove-symbolic-link -
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 |
| ^~~~~~~~~~~~~~~~~~~~~~~
心路历程
首先直接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/ openvpn/
然后可以进入opencv4可以看到opencv2 也就这一个 我估计是… 安ros还是啥的 在20外面变了个名字 但是里面还是一致的
也就是说 直接ln 软链接过去就可以成功了,比如这样
sudo ln -s /usr/include/opencv4/opencv2 /usr/include/opencv2
其实很多的关于cannot found 如果真的安装好了,可能就是路径对不上而已,找到这个包找的是哪条路,然后确认那条路径是否有就可以了
最后重新再make就发现无此错误了~ 编译通过
|