编译依赖OpenCV的C++项目时提示‘No package 'opencv' found’求助
解决OpenCV 3.1依赖的C++编译问题
问题核心
你通过pip安装的opencv-python/opencv-contrib-python是Python绑定版本,仅提供Python调用接口,不包含C++开发所需的头文件、库文件和opencv.pc配置文件,且版本(4.7.0)不符合项目要求的3.1,导致pkg-config无法找到对应配置,编译失败。
解决方案
卸载Python版OpenCV(可选,避免版本混淆)
pip uninstall opencv-python opencv-contrib-python安装OpenCV 3.1的C++开发版本
推荐手动编译以保证版本准确:- 安装编译依赖:
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev - 拉取OpenCV 3.1及contrib模块源码:
git clone https://github.com/opencv/opencv.git -b 3.1.0 git clone https://github.com/opencv/opencv_contrib.git -b 3.1.0 - 编译安装:
cd opencv && mkdir build && cd build cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules .. make -j$(nproc) && sudo make install
- 安装编译依赖:
配置
PKG_CONFIG_PATH(若编译后仍找不到opencv.pc)
临时生效:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH永久生效(写入bash配置):
echo "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH" >> ~/.bashrc && source ~/.bashrc验证配置
pkg-config --modversion opencv输出
3.1.0即为配置成功。重新执行编译命令
g++ -std=c++11 Heartbeat.cpp opencv.cpp RPPG.cpp `pkg-config --cflags --libs opencv` -o Heartbeat
内容的提问来源于stack exchange,提问作者Gordon Freeman
相关产品推荐
相关产品推荐

