OpenCV Build Mingw.md - erdTony/Eclipse7doc GitHub Wiki

Building OpenCV4 on Mingw

^Initial Draft: June 23, 2025^

References

Prerequsites

  • Assuming Windows 10/11

Qt v6.10+

  • Assuming Qt6 installed at [C:]/Qt

CMake v3+

  • $ cd /opt/Qt/Tools/CMake_64/bin
  • $ ./cmake --version (using v3.31.5)

mingw

  • Test: c++ --version (using v13.1.0)
  • Test: gdb --version (using v11.2)

Environment

  • Add: [C:]\Qt\Tools\llvm-mingw1706_64\bin to PATH
  • Add: [C:]\Qt\Tools\CMake_64\bin to PATH
  • (Restart shell if needed)

Source Code

CMake Setup

  • If new run, delete /code/temp/opencv4[d]/build
  • Run cmake-gui
  • Source: /code/repo/opencv
  • Build: /code/temp/OpenCV4[d]/build - 'd' for debug
  • Deploy later: /data/code/3rdParty/opencv4[d]
  • Configure
  • Yes if build directory doesn't exist, It Shouldn't!
  • Specify MinGW Makefiles
  • Select Use default native compilers
  • Finish

CMake Configuration

  • CMAKE

    • Add: CMAKE_MAKE_PROGRAM FILEPATH to [C:]/Qt/Tools/CMake_64/bin/cmake.exe
    • Set: CMAKE_BUILD_TYPE to Release
    • Set: CMAKE_INSTALL_PREFIX to /code/3rdParty/OpenCV4
  • BUILD

    • Check: BUILD_DOCS BUILD_EXAMPLES BUILD_OPENJPEG
    • Uncheck: BUILD_opencv_dnn BUILD_JAVA
    • Uncheck all BUILD_opencv_* except core, imageproc, objdetect
    • Check all except _world (need prerequsites for objdetect)
    • If NOT Release Build Check: BUILD_WITH_DEBUG_INFO
  • OPENCV

    • Set: OPENCV_EXTRA_MODULES_PATH as /code/repo/opencv_contrib/modules
  • WITH

    • Check: WITH_QT
    • Uncheck: _ADE _AVIF _EIGEN _FFMPEG IMGCODEC* _JASPER _PNG _TIFF
  • QT

    • Add: QT_QMAKE_EXECUTABLE FILEPATH /Qt/6.9.1/llvm-mingw_64/bin/qmake.exe
    • Add: Qt6_DIR PATH /Qt/6.9.1
  • INSTALL

  • Check all (trying for prereq for objdetect)

  • Check: INSTALL_C_EXAMPLES

  • Check: INSTALL_TESTS

  • Configure

  • Generate

Build!

  • $ cd /code/temp/opencv4[d]/build
  • $ mingw32-make -B
  • Make a pot of coffee
  • $ make install

Integrate

  • Create OpenCV4.pri file in /code/repo/Eclipse7
# file: {Eclipse7 repo}/OpenCV4.pri

INCLUDEPATH *= /code/3rdParty/OpenCV4/include
LIBS *= -L/code/3rdParty/OpenCV4/x64/mingw/libs

LIBS *= -lopencv_core4100
LIBS *= -lopencv_imageproc4100
LIBS *= -lopencv_objdetect4100