MinGW编译OpenCV

下载opencv官网的exe文件,exe文件点击就会解压出来opencv的MSVC编译文件和sources文件,我用的是MinGW,所以用不到MSVC编译文件,需要用下方命令编译MinGW版本。放弃opencv_contrib编译,容易出错。

cmake -G "MinGW Makefiles" ../.. -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=OFF -DCMAKE_INSTALL_PREFIX=./install -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules -DOPENCV_ENABLE_NONFREE=ON -DBUILD_opencv_world=ON -DBUILD_opencv_xfeatures2d=OFF -DWITH_CUDA=OFF -DWITH_CUBLAS=OFF -DWITH_CUFFT=OFF -DWITH_CUDNN=OFF -DWITH_NVCUVID=OFF -DBUILD_opencv_cudaarithm=OFF -DBUILD_opencv_cudaimgproc=OFF -DBUILD_opencv_cudawarping=OFF -DBUILD_opencv_cudafilters=OFF -DBUILD_opencv_cudaoptflow=OFF -DBUILD_opencv_cudafeatures2d=OFF -DBUILD_opencv_cudacodec=OFF -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_EXAMPLES=OFF -DBUILD_DOCS=OFF -DBUILD_JAVA=OFF -DBUILD_opencv_python=OFF -DBUILD_opencv_python2=OFF -DBUILD_opencv_python3=OFF
mingw32-make -j8 -k
mingw32-make install

需要将"E:\cpp\opencv\sources\build\bin\libopencv_world4120.dll"复制到F:\cpp_proj\text2video_xrc\cmake-build-release-mingw\bin

add_custom_target(copy_files ALL

COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/src/ui ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ui

COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/src/res ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/res

COMMAND ${CMAKE_COMMAND} -E copy_directory "E:/cpp/opencv/sources/build/bin" $

COMMENT "CMake: Copying ui files..."

)