解决编译OpenCV项目时出现的undefined reference to cv::xxxx错误
程序员文章站
2024-03-25 10:53:58
...
0x00 问题描述
使用OpenCV做一个人脸识别的C++程序,OpenCV已经编译好了,include与lib都存放在:
/usr/local/ 目录中
在IDE中也可以引入openCV相关的头文件,并没有报异常,但是在编译的时候,就会出现错误:
各种头文件找不到,xxx函数没有定义之类的问题
0x01 问题分析
这其实是在编译的时候,编译的参数配置不正确,并没有指定Lib目录的路径,导致编译的时候,静态链接库无法找到
0x02 问题解决
既然是这个愿意,添加上依赖自然就可以编译了,直接使用g++的命令:
g++ main.cpp -o test `pkg-config --cflags --libs opencv`
这里面打pkg-config工具需要我们安装好,如果没有安装,使用yum 或者apt-get进行安装即可,你可以在Linux的shell中输入:
pkg-config来查看一下,你可以看到Lib的绝对路径
当然,是这个原因的话,你也可以在IDE中去配置好Lib目录