# Camke 安装

  1. Camke 官网下载页面下载 exe 安装包
  2. 点击安装,一路 next 就行,推荐安装路径为默认
  3. 找到 Cmake 安装路径下的 bin 文件路径,添加到环境变量 Path, 比如我的文件路径就是 C:\Program Files\CMake\bin
  4. 在 windows terminal 使用 Cmake --version 来验证是否安装成功

# MinGW 安装

MinGW 下载不推荐使用官网自带的 exe 文件,老是抽风,还是直接下载离线包吧

  1. MinGW 官网下载页面下载 x86_64-posix-seh, 注意,必须是 posix 多线程版,否则后面 openCV 编译会出错
  2. 安装路径自己选
  3. 找到 MinGW 安装路径下的 bin 文件路径,添加到环境变量 Path, 比如我的文件路径就是 C:\MinGW_64\x86_64-8.1.0-posix-seh-rt_v6-rev0\bin
  4. 在 windows terminal 使用 gcc --version 或 [g++ --version] 来验证是否安装成功

# OpenCV 下载与编译

openCV 官网下的 windows 版本是针对 VS 的,所以想用 Cmake+MinGW+OpenCV 直接下源代码就行,不想折腾还是直接用 VS 吧

  1. OpenCV 官网下载页面下载源代码,安装路径自己选
  2. 在源文件根目录内新建两个空文件夹 mingw-build build, 其中 mingw-build 用于存放 MakeFiles,build 用于存放编译后的 opencv
  3. 在源文件根目录下打开 Windows terminal, 依次执行下面的命令来编译 openCV
mkdir mingw-build #新建 mingw-build 文件夹
mkdir build #新建 build 文件夹
# 生成 MakeFiles 文件 文件路径根据自己实际要求换即可
cd mingw-build
cmake -G "MinGW Makefiles" C:\opencv-4.5.3 -DCMAKE_INSTALL_PREFIX=C:\opencv-4.5.3\build -DEBUILD_TESTS=OFF -DBUILD_PREF_TESTS=OFF
# openCV 开始编译
mingw32-make install -j8
  1. 把编译好的 build 的 bin 和 lib 文件夹添加到环境变量中,以便编译时能找到相应文件,比如我的就是 C:\LIBRARY\opencv-4.6.0\build\x64\mingw\bin C:\LIBRARY\opencv-4.6.0\build\x64\mingw\lib

# 测试

  1. 源文件
//main.cpp
#include<iostream>
#include<opencv2/opencv.hpp>
int main()
{
	cv::Mat img = cv::imread("C:/STORAGE/Pictures/screen/122.jpg");
	cv::imshow("img",img);
	std::cout<<"conifgure"<<std::endl;
	cv::waitKey(0);
	return 0;
}
  1. CmakeLists.txt 文件
cmake_minimum_required(VERSION 3.12)
set(OpenCV_DIR "C:/LIBRARY/opencv-4.6.0/build")
project(hello)
find_package(OpenCV 4.6.0 REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(hello main.cpp)
target_link_libraries(
	hello
	${OpenCV_LIBS}
	)

强烈建议不要忽视 set (OpenCV_DIR "C:/LIBRARY/opencv-4.6.0/build") 这句语句,否则你可能会多次遇到下面这个经典错误

CMake Error at CMakeLists.txt:6 (find_package):
  By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "OpenCV", but
  CMake did not find one.
  Could not find a package configuration file provided by "OpenCV" (requested
  version 4.6.0) with any of the following names:
    OpenCVConfig.cmake
    opencv-config.cmake
  Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or 
  set "OpenCV_DIR" to a directory containing one of the above files.  
  If "OpenCV" provides a separate development package or SDK, be sure it has been installed.

# 使用命令行运行

# 终端须在源文件夹根目录打开
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
mingw32-make
./hello

# 参考

opencv 配置有点坑

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Jelly27th 微信支付

微信支付

Jelly27th 支付宝

支付宝