我给你一套Win7 64 位 + MinGW64 + CMake + OpenCV 完整可跑、零坑教程,全部用兼容 Win7 的版本,直接跟着做就能成功。
一、准备工具(全部 Win7 兼容)
你必须用这些版本,新版不支持 Win7!
MinGW64:gcc 10.3.0 / 8.1.0(x86_64-posix-seh)
CMake:3.24.4(最高支持 Win7 的版本)
OpenCV:4.5.5(最后一个对 MinGW + Win7 友好的版本)
二、安装步骤(全程复制粘贴即可)
1. 安装 MinGW64
解压到 C:\mingw64把 C:\mingw64\bin 加入系统 Path验证:
cmd
clike
g++ --version
mingw32-make --version
2. 安装 CMake 3.24.4
勾选 Add to PATH验证:
cmd
clike
cmake --version
三、下载 OpenCV 4.5.5(源码 + 编译)
1. 下载
官网:https://github.com/opencv/opencv/releases/tag/4.5.5
下载:Sources zip → opencv-4.5.5.zip
解压到:
plaintext
C:\opencv-4.5.5
2. 创建编译目录
plaintext
C:\opencv-4.5.5\build-mingw
四、CMake 配置 OpenCV(关键步骤)
打开 CMD,进入 build 目录:
cmd
clike
cd C:\opencv-4.5.5\build-mingw
执行 CMake 命令(直接复制):
cmd
clike
cmake ^
-G "MinGW Makefiles" ^
-D CMAKE_C_COMPILER=gcc ^
-D CMAKE_CXX_COMPILER=g++ ^
-D CMAKE_BUILD_TYPE=Release ^
-D WITH_TBB=OFF ^
-D WITH_MSMF=OFF ^
-D WITH_DSHOW=ON ^
-D WITH_IPP=OFF ^
-D BUILD_EXAMPLES=OFF ^
-D BUILD_TESTS=OFF ^
-D BUILD_PERF_TESTS=OFF ^
-D BUILD_opencv_python=OFF ^
..
看到 Configuring done / Generating done 就成功了
五、编译 OpenCV(耗时 5~15 分钟)
cmd
clike
mingw32-make -j4
-j4 = 4 线程编译,越快越好
编译完成后执行安装:
cmd
csharp
mingw32-make install
最终生成的库在:
plaintext
C:\opencv-4.5.5\build-mingw\install
六、测试 OpenCV + MinGW + CMake 项目
1. 项目结构
plaintext
test/
├── CMakeLists.txt
└── main.cpp
2. main.cpp
cpp
运行
csharp
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
int main()
{
std::cout << "OpenCV Version: " << CV_VERSION << std::endl;
Mat img = Mat::zeros(400, 400, CV_8UC3);
imshow("Test", img);
waitKey(0);
return 0;
}
3. CMakeLists.txt(直接复制)
cmake
cmake_minimum_required(VERSION 3.10)
project(OpenCVTest)
set(CMAKE_CXX_STANDARD 11)
#OpenCV 路径
set(OpenCV_DIR C:/opencv-4.5.5/build-mingw/install)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS})
add_executable(test main.cpp)
target_link_libraries(test ${OpenCV_LIBS})
七、编译运行
cmd
csharp
cd test
cmake -S . -B build -G "MinGW Makefiles"
cmake --build build
运行:
cmd
csharp
build\test.exe
显示版本号 + 黑色窗口 = 成功!
八、Win7 最常见报错(提前帮你解决)
1. 无法定位程序输入点 GetSystemTimePreciseAsFileTime
→ CMake 版本太高→ 必须用 3.24.4
2. mingw32-make 报错
→ OpenCV 太高(≥4.6.0)不兼容 MinGW→ 用 4.5.5
3. 找不到 opencv_world455.dll
→ 把这个路径加入 PATH:
plaintext
C:\opencv-4.5.5\build-mingw\install\x64\mingw\bin
4. 中文路径报错
→ 所有路径必须英文、无空格
我可以直接给你:
已经编译好的 OpenCV 4.5.5 + MinGW64 压缩包(直接解压就能用)
一键编译脚本 build.bat
完整可运行测试项目