如何在Linux上进行OpenCV的静态编译?

在Linux上进行OpenCV静态编译的详细步骤

准备工作

1、拉取OpenCV源码

如何在Linux上进行OpenCV的静态编译?插图1
(图片来源网络,侵删)

访问GitHub并下载OpenCV源代码,可以使用git clone https://github.com/opencv/opencv.git命令来获取最新的代码库。

2、安装依赖项

确保系统已安装CMake和必要的编译工具,可以通过包管理器安装,例如在Debian或Ubuntu系统上使用sudo apt-get install build-essential cmake

创建编译脚本

1、创建构建目录

进入OpenCV源码目录,在其中创建一个用于构建的目录,如build_linux

如何在Linux上进行OpenCV的静态编译?插图3
(图片来源网络,侵删)

使用cd platforms/linux && mkdir build_linux && cd build_linux命令。

2、编写CMake编译脚本

build_linux目录下创建一个名为build_linux.sh的脚本文件,并编辑它。

添加以下内容到build_linux.sh文件中:

```bash

如何在Linux上进行OpenCV的静态编译?插图5
(图片来源网络,侵删)

#!/bin/bash

BUILD_TYPE='Release'

rm -rf build_linux

mkdir build_linux

cd build_linux

cmake ../../../

-DCMAKE_BUILD_TYPE=$BUILD_TYPE

-DBUILD_SHARED_LIBS=OFF

-DBUILD_opencv_world=ON

# 根据需要关闭其他模块

-DBUILD_opencv_python2=OFF

-DBUILD_opencv_python3=OFF

-DBUILD_opencv_java=OFF

-DBUILD_JAVA=OFF

-DWITH_OPENCL=OFF

-DWITH_IPP=OFF

-DWITH_TBB=OFF

-DBUILD_EXAMPLES=OFF

-DBUILD_TESTS=OFF

-DBUILD_PERF_TESTS=OFF

-DBUILD_DOCS=OFF

make -j8

```

此脚本配置了CMake以编译静态库而非共享库,并且集中所有库到一个opencv_world中。

执行编译脚本

1、赋予脚本执行权限

运行chmod +x build_linux.sh命令,使脚本可执行。

2、执行编译

运行./build_linux.sh开始编译过程,这将在当前目录下生成所需的静态库。

链接和测试静态库

1、创建测试项目

新建一个目录用于存放测试工程,并在其中创建一个简单的CMakeLists.txt文件和一个测试用的C++源文件(如test.cpp)。

2、配置CMakeLists.txt

在CMakeLists.txt中,包含必要的头文件目录,并链接到OpenCV的静态库,示例如下:

```cmake

cmake_minimum_required(VERSION 3.10)

project(OpenCVTest)

include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)

link_directories(${CMAKE_CURRENT_SOURCE_DIR}/lib)

add_executable(test test.cpp)

target_link_libraries(test opencv_world)

```

确保所有需要的第三方库也被正确链接。

3、编译并测试

在测试项目目录中运行cmake .make命令来编译和链接你的测试程序,如果一切设置正确,你应该能够成功编译并运行一个使用OpenCV静态库的程序。

通过以上步骤,你应该能够在Linux环境下成功编译OpenCV的静态库,并在自己的项目中使用这些库,注意,根据具体需求调整编译选项和链接设置。

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/62677.html

(0)
上一篇 2024年9月28日 13:45
下一篇 2024年9月28日 13:57

相关推荐