刚入门Linux,真是有苦说不出,在Linux下编译代码,真是和IDE的集成开发环境各种不适应,最近遇到了一个很常见的错误。看截图(在函数‘main’中,未定义的引用):
原因:这个错误是由于findHomography()的库文件没有添加,这个函数在-lopencv_calib3d中,而且在代码中,加入一行:
#include <opencv2/calib3d/calib3d.hpp>,
makefile文件中加链接库-lopencv_calib3d,才可以编译运行。之所以在Windows下能编译通过,是因为后台的IDE都已经帮我们把库链接好了,不用我们手动去链接库,所以能编译通过。
最后,在顺便说一下,Windows系统下,1.jpg和1.JPG是一样的,但是在Linux下的时候,图片格式是JPG的话,用.jpg小写读入会出问题,也就是读入出错,必须一.JPG格式读入。