编译目标
本文将记录在Linux下编译Opencv及其扩展contrib,并记录在这过程中发生的问题。
环境需求
操作系统: Ubuntu 20.04
CMake: 3.22.1及以上
Make: 4.2.1
gcc/g++: 9.4.0
联网需求: 是
准备
- 拉取OpenCV和opencv_contrib代码,得到两个代码文件夹opencv和opencv_contrib
https://github.com/opencv/opencv.git
https://github.com/opencv/opencv_contrib.git
编译
进入opencv中,执行编译命令,编译命令如下:
mkdir build && cd build
cmake \
-DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-DBUILD_EXAMPLES=OFF \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_O3=ON \
-DENABLE_CXX11=ON \
-DBUILD_DOCS=OFF \
-DBUILD_TESTS=OFF \
-GUnix \
..
参数解释:
-DOPENCV_EXTRA_MODULES_PATH
: 指定扩展contrib文件模块所在路径
-DBUILD_EXAMPLES
: 编译官方示例
-DCMAKE_BUILD_TYPE
: 编译版本类型
-DUSE_O3
: 使用O3优化级别
-DENABLE_CXX11
: 使用C++11特性
-DBUILD_DOCS
: 构建文档
-DBUILD_TESTS
: 构建测试用例
-GUnix
: 指定使用Make进行编译,也可以是-GNinja
使用Ninja进行编译
完毕之后再执行:
cmake --build .
--build
: 指定构建目录