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 安装官方文档
相关推荐
leoZ23120 小时前
AI+前端提效-09 AI赋能前端测试:单元测试、E2E测试自动生成,提升覆盖率
前端·人工智能·opencv·目标检测·数据挖掘·单元测试·语音识别
别动我齐刘海1 天前
从0到1独立搭建机器人软件系统
c++·人工智能·神经网络·opencv·目标检测·机器学习·机器人
AI的探索之旅1 天前
97 个 OpenCV 实例(十五):几何校正,透视变换 + ECC 对齐
人工智能·opencv·计算机视觉
欧特克_Glodon2 天前
OpenCV计算机视觉开发入门与实践<二十七>:图像分割概述
c++·人工智能·opencv·计算机视觉
yyk333243 天前
OpenCV中运动目标检测
opencv·目标检测·目标跟踪
AndrewHZ3 天前
图像处理入门021 | 直方图:图像像素分布的可视化 —— cv2.calcHist 与 4 类典型分布
图像处理·opencv·直方图·直方图均衡化·cdf·灰度直方图·多通道直方图
爱吃火鸡面呀3 天前
OpenCV 实战:文档扫描与神经风格迁移完整指南
人工智能·opencv·计算机视觉
陈年老古董3 天前
OpenCV实战:文档扫描与图像风格迁移
人工智能·python·opencv·计算机视觉
AI的探索之旅3 天前
97 个 OpenCV 实例(十四):图像分割,GrabCut 抠图 + inpaint 去水印
人工智能·opencv·计算机视觉
词却3 天前
OpenCV入门(五):图像拼接、背景建模、光流估计与DNN风格迁移
opencv