OpenCV 源码编译并启用 .pc 文件生成

OpenCV 源码编译并启用 .pc 文件生成

  • [OpenCV 源码编译并启用 .pc 文件生成](#OpenCV 源码编译并启用 .pc 文件生成)
    • 前言
    • 编译
      • [1. 进入构建目录](#1. 进入构建目录)
      • [2. 清除之前的 CMake 配置](#2. 清除之前的 CMake 配置)
      • [3. 重新配置,启用 PKGCONFIG 生成和 pkgconfig](#3. 重新配置,启用 PKGCONFIG 生成和 pkgconfig)
      • [4. 编译](#4. 编译)
      • [5. 安装](#5. 安装)
    • 验证安装
      • [检查 .pc 文件是否生成](#检查 .pc 文件是否生成)
      • [测试 pkg-config](#测试 pkg-config)
      • [验证 freetype 库是否存在](#验证 freetype 库是否存在)
    • 常见用法
    • 参考资料

OpenCV 源码编译并启用 .pc 文件生成

前言

在使用 pkg-config 管理 OpenCV 依赖时,需要 .pc 文件来获取编译 flags 和库链接信息。然而 OpenCV 默认编译安装并不会生成 pkg-config 文件。在编译 OpenCV 时启用 .pc 文件生成。


编译

1. 进入构建目录

可以创建目录build

bash 复制代码
mkdir -p build && cd build

2. 清除之前的 CMake 配置

bash 复制代码
rm

3. 重新配置,启用 PKGCONFIG 生成和 pkgconfig

bash 复制代码
cmake -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_FREETYPE=ON ..

关键参数说明:

  • -DOPENCV_GENERATE_PKGCONFIG=ON:启用 pkg-config 文件生成

4. 编译

bash 复制代码
make -j8

使用 -j8 参数进行 8 线程并行编译,可根据 CPU 核心数调整。

5. 安装

bash 复制代码
sudo make install

验证安装

检查 .pc 文件是否生成

bash 复制代码
ls -la /usr/local/lib/pkgconfig/opencv4.pc

测试 pkg-config

bash 复制代码
pkg-config --modversion opencv4

输出示例:

复制代码
# pkg-config --modversion opencv4
4.8.0

验证 freetype 库是否存在

bash 复制代码
ls -la /usr/local/lib/libopencv_freetype*

常见用法

安装完成后,可以使用 pkg-config 获取编译参数:

bash 复制代码
# 获取编译 flags
pkg-config --cflags opencv4

# 获取链接 flags
pkg-config --libs opencv4

# 同时获取两者
pkg-config --cflags --libs opencv4

参考资料

  1. OpenCV GitHub 仓库
  2. OpenCV 4.8.0 Linux 安装官方文档
相关推荐
minglie17 小时前
zynq环境用opencv测摄像头
人工智能·opencv·计算机视觉
Fleshy数模7 小时前
基于MediaPipe实现人体姿态与脸部关键点检测
python·opencv·计算机视觉
輕華8 小时前
OpenCV答题卡识别:从图像预处理到自动评分
人工智能·opencv·计算机视觉
程序员JerrySUN8 小时前
RK3588 项目实战总结:从 GStreamer、DP 显示、OpenCV 到 YOLO 部署的一次完整梳理
人工智能·opencv·yolo
躺平的赶海人10 小时前
python opencv实现相机内参标定之安装OpenCv
python·opencv·计算机视觉
Westward-sun.11 小时前
OpenCV物体跟踪实战:基于KCF算法的实时摄像头目标跟踪(Python实现)
opencv·算法·目标跟踪
qq_3859990813 小时前
Win7 64 位 + MinGW64 + CMake + OpenCV 之二
人工智能·opencv·webpack
Daydream.V2 天前
【Opencv+MediaPipe】实现手部检测、识别
人工智能·opencv·计算机视觉
Daydream.V2 天前
基于Opencv和Dlib的人脸换脸实现
人工智能·opencv·计算机视觉·仿射变换·换脸·视频换脸·图片换脸
Westward-sun.2 天前
背景建模详解与OpenCV实现:从原理到代码实战
人工智能·opencv·计算机视觉