opencv静态编译(opencv动态库编译)

# OpenCV静态编译

## 简介

OpenCV是一个开源计算机视觉库,提供了丰富的图像处理和计算机视觉算法。静态编译是将程序的所有依赖库打包在可执行文件中,避免在运行时依赖外部库的情况。本文将介绍如何在Linux系统下进行OpenCV的静态编译。

## 准备工作

在进行OpenCV的静态编译之前,需要确保系统已经安装了必要的编译工具和依赖库。可以通过以下命令安装所需的工具和库:

```shell

sudo apt-get update

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

```

## 下载OpenCV源码

从OpenCV的官方网站上下载最新的源码压缩包,并解压到本地目录。

```shell

wget https://github.com/opencv/opencv/archive/4.5.3.tar.gz

tar -zxvf 4.5.3.tar.gz

```

## 配置和编译

创建一个新的文件夹用于存放编译生成的文件,并进入该文件夹进行配置和编译。

```shell

mkdir build

cd build

cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_GTK=ON -DBUILD_SHARED_LIBS=OFF ../opencv-4.5.3

make

```

## 链接和生成可执行文件

在编译完成后,可以链接生成静态库并编写代码进行测试。

```shell

g++ -o test test.cpp -I /path/to/opencv-4.5.3/include -L /path/to/opencv-4.5.3/lib -lopencv_core -lopencv_imgproc -lopencv_highgui

./test

```

## 结论

通过以上步骤,我们成功进行了OpenCV的静态编译,并生成了可以独立运行的可执行文件。静态编译可以提高程序的可移植性和稳定性,适用于发布独立的应用程序或服务。

标签列表