解决c++编译找不到opencv库的问题, undefined reference to cv::xxx
1Pkg-config
1.1基本概念
pkg-config是一个在编译应用和相关库的帮助工具。
gcc -o test test.c 'pkg-config --libs --cflags opencv'
简单来说,pkg-config帮你找到所依赖的库,那么它是根据什么怎么找到的呢?
1.2工作过程
pkg-config是根据*.pc文件找到相关库的文件路径。查看电脑中某库的.pc文件可用如下指令
sudo find / -name opencv.pc -print
电脑中可能存在多个.pc库文件,记住这个需要使用库的.pc文件路径。
2在CMakeList中配置opencv
将.pc的文件路径usr/lib/x86_64-linux-gnu/pkgconfig/opencv.pc
,分成两部分
set(ENV{PKG_CONFIG_PATH} : usr/lib/x86_64-linux-gnu/pkgconfig
)
pkg_search_module(PKG_OPENCV REQUIRED opencv
)
在CMakeLists.t