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 安装官方文档
相关推荐
小豆庄21 小时前
本地视频打码:多模型检测、帧间追踪与18种模糊的选型
opencv·目标检测·ai·自然语言处理·音视频·视频
爱吃火鸡面呀1 天前
OpenCV 颜色识别实战:从 HSV 原理到摄像头实时检测
人工智能·opencv·计算机视觉
ahccqw1 天前
OpenCV 缩放 与 位移
人工智能·opencv·计算机视觉
AI的探索之旅2 天前
OpenCV Day40 —— K-means 聚类与 EM 高斯混合
opencv·kmeans·聚类
AI的探索之旅2 天前
OpenCV Day39 —— 无缝克隆 seamless cloning(cloning_demo / cloning_gui)
人工智能·opencv
小豆庄2 天前
会议录屏忘打码后的技术复盘:本地自动化隐私脱敏方案
运维·opencv·目标检测·自动化·视频·纹理贴图
小豆庄2 天前
监控视频脱敏:夜视/低光线条件下人脸检测的工程处理思路
opencv·计算机视觉·阿里云·视觉检测·音视频·视频
小豆庄3 天前
视频遮罩追踪退场后ID撞号的排查—多目标场景下的失效
opencv·算法·bug·视频·python3.11
zwc32104320553 天前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
誰能久伴不乏3 天前
OpenCV 入门(二):像素访问、ROI 与深浅拷贝
人工智能·opencv·计算机视觉