《如何使用MinGW-w64编译OpenCV和opencv_contrib》
《如何使用MinGW-w64编译OpenCV和opencv_contrib》
在Windows环境下使用MinGW编译OpenCV和opencv_contrib是一个常见需求,尤其是对于那些希望使用GCC工具链而非Visual Studio的开发者。下面我将详细介绍这个过程。
准备工作
首先需要安装和准备以下工具和库:
- MinGW(建议使用MinGW-w64)
- CMake(3.18或更高版本)
- Python(可选,但推荐安装)
- Git(用于获取源码)
下载源码
首先需要获取OpenCV和opencv_contrib的源码:
# 创建一个工作目录
mkdir opencv_build && cd opencv_build# 下载OpenCV源码
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 4.x # 选择你需要的版本,这里以4.x为例
cd ..# 下载opencv_contrib源码(注意版本要与OpenCV一致)
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 4.x # 与上面选择的版本保持一致
cd ..
配置CMake
创建一个构建目录,然后使用CMake配置项目:
mkdir build && cd build# 使用CMake配置项目
cmake -G "MinGW Makefiles" ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=C:/opencv ^
-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ^
-DBUILD_opencv_world=ON ^
-DBUILD_SHARED_LIBS=ON ^
-DWITH_FFMPEG=ON ^
-DWITH_OPENMP=ON ^
-DBUILD_TESTS=OFF ^
-DBUILD_PERF_TESTS=OFF ^
-DBUILD_EXAMPLES=OFF ^
../opencv
编译和安装
配置完成后,执行编译和安装:
# 编译项目
mingw32-make -j$(nproc)# 安装OpenCV
mingw32-make install
环境配置
编译安装完成后,需要配置环境变量:
- 添加
C:/opencv/bin
到系统PATH环境变量 - 在项目中正确设置包含目录和库目录
可能遇到的问题及解决方案
-
缺少依赖库:编译时可能会提示缺少某些依赖库,如FFmpeg、TBB等。需要安装这些库并在CMake配置中指定路径。
-
编译错误