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 安装官方文档
相关推荐
_李小白1 天前
【android opencv学习笔记】Day 2: Mat类(图片数据结构体)
android·opencv·学习
Leon_Chenl2 天前
【已开源】【嵌入式 Linux 音视频+ AI 实战项目】瑞芯微 Rockchip 系列 RK3588-基于深度学习的人脸门禁+ IPC 智能安防监控系统
深度学习·opencv·yolo·ffmpeg·音视频·边缘计算·人脸识别+检测
H Journey2 天前
常用知识总结C++、CMake、Linux
linux·c++·opencv·cmake
sali-tec4 天前
C# 基于OpenCv的视觉工作流-章53-QR二维码1
图像处理·人工智能·opencv·算法·计算机视觉
星辰徐哥4 天前
OpenCV入门:Windows系统下OpenCV的安装与环境配置
人工智能·windows·opencv
Jun6264 天前
【树莓派】opencv水滴接触角测量
人工智能·opencv·计算机视觉
纤纡.4 天前
解锁 Python 实用编程技巧:线程、视觉识别、正则匹配与装饰器实战
开发语言·python·深度学习·opencv
嵌入式老牛4 天前
OpenCV与MFC混合编程中的图像格式转换研究
人工智能·opencv·mfc
六bring个六5 天前
opencv初始环境搭建
opencv·计算机视觉
gloomyfish5 天前
【洞察微瑕】YOLO11+QWEN-VL实现墙体裂缝检测与文字报告生成
人工智能·opencv·算法·计算机视觉