这是因为你没有指定头文件路径,当你头文件加进来也会发现编译不过,因为你也没有指定库文件路径。你编译安装opencv的教程肯定不全,在sudo make install 之后还要配置环境,否则就要每个工程手动添加环境
有两种方法可以解决:
1-为系统添加头文件、库文件路径。
sudo gedit /etc/ld.so.conf.d/opencv.conf
在opencv.conf里面添加(没有就创建一个)/usr/local/lib (这个是你编译安装的位置)
添加之后执行sudo ldconfig生效。
然后还要配置etc下的一个总的bash:sudo gedit /etc/bash.bashrc
把上面的那个config文件加进去:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
再使之生效:source /etc/bash.bashrc
整个过程比较啰嗦,如果不想这么麻烦直接在bash.bashrc里面加opencv路径也行。你可搜索下“Ubuntu下OpenCV环境配置”很多教程的。
2-另一个则是我建议学习的时候用的方法,在配置工程的时候加入:
比如QT工程,在pro文件里面加入:
INCLUDEPATH+= <头文件路径>
LIBS+=-L<库文件路径>