欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决编译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目录