一、前置准备(必须先完成)
1. 安装必要工具
-
MinGW-w64:提供 C++ 编译器(g++)和调试器(gdb)
- 下载地址:https://sourceforge.net/projects/mingw-w64/files/
- 选择「x86_64-posix-seh」版本(64 位,兼容性好),解压到固定路径(如
D:\mingw64) - 把
D:\mingw64\bin添加到系统环境变量Path,验证:打开 cmd 输入g++ -v,能显示版本则成功。
-
OpenCV:和之前一样,从官网下载 Windows 版本,解压到固定路径(如
D:\opencv)。 - VS Code 插件:安装「C/C++」(Microsoft 官方),提供语法高亮、编译调试支持。
2. 处理 OpenCV 的 MinGW 兼容问题(关键!)
OpenCV 官方提供的库是针对 VS 的(vc17/vc16),不能直接给 MinGW 用,需要额外处理:
- 方式 1(推荐新手):下载编译好的 MinGW 版本 OpenCV可从第三方仓库下载:https://github.com/huihut/OpenCV-MinGW-Build选择对应版本(如 OpenCV 4.8.0 + MinGW-w64),解压到
D:\opencv-mingw,核心路径:- 头文件:
D:\opencv-mingw\include - 库文件:
D:\opencv-mingw\x64\mingw\lib - 动态库:
D:\opencv-mingw\x64\mingw\bin
- 头文件:
- 方式 2:自己编译(适合进阶):用 CMake 编译 OpenCV 源码适配 MinGW,步骤较繁琐,新手先选方式 1。
二、VS Code 配置 OpenCV 核心步骤
1. 新建项目文件夹
在电脑上新建一个文件夹(如D:\VSCode_OpenCV_Test),用 VS Code 打开这个文件夹。
2. 配置编译任务(tasks.json)
这个文件告诉 VS Code 如何调用 g++ 编译 OpenCV 程序:
- 按
Ctrl+Shift+P,输入「Tasks: Configure Task」→「C/C++: g++.exe build active file」,生成 tasks.json 文件。 - 替换为以下内容(重点修改 OpenCV 路径为你的实际路径):
json
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:\\mingw64\\bin\\g++.exe", // 你的MinGW路径
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
// OpenCV配置:指定头文件路径
"-I", "D:\\opencv-mingw\\include",
// 指定库文件路径
"-L", "D:\\opencv-mingw\\x64\\mingw\\lib",
// 链接OpenCV库(480是版本号,根据你的版本修改)
"-lopencv_world480",
// 必须的系统库
"-lstdc++",
"-lm"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: D:\\mingw64\\bin\\g++.exe"
}
]
}
3. 配置调试(launch.json)
这个文件用于调试程序(F5),按Ctrl+Shift+P→「Debug: Open launch.json」→「C++ (GDB/LLDB)」,替换内容:
json
{
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - 生成和调试活动文件",
"type": "cppvsdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": true, // 显示控制台窗口
"MIMode": "gdb",
"miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // 你的gdb路径
"setupCommands": [
{
"description": "为gdb启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件" // 和tasks.json的label一致
}
]
}
4. 配置系统环境变量(最后一步)
把 OpenCV 的动态库路径添加到系统Path,避免运行程序时提示缺少.dll:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」→「系统变量」→
Path→「新建」 - 添加路径:
D:\opencv-mingw\x64\mingw\bin - 保存后重启 VS Code(必要!)
三、测试配置是否成功
在项目文件夹中新建test.cpp文件,写入以下代码:
cpp
运行
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main() {
// 读取图片(替换为你的图片路径,用双反斜杠)
Mat img = imread("D:\\test.jpg");
if (img.empty()) {
cout << "图片读取失败,请检查路径!" << endl;
return -1;
}
// 显示图片
namedWindow("VS Code OpenCV Test", WINDOW_NORMAL);
imshow("VS Code OpenCV Test", img);
// 等待按键
waitKey(0);
destroyAllWindows();
return 0;
}
运行测试:
- 打开
test.cpp,按Ctrl+Shift+B编译(或点击右上角「运行生成任务」); - 编译成功后按
F5调试运行,能正常显示图片则配置完成。
常见问题解决
-
编译报错「找不到 opencv2/opencv.hpp」:检查 tasks.json 中
-I后的头文件路径是否正确; - 运行提示「缺少 libopencv_world480.dll」:检查环境变量是否添加了 OpenCV 的 bin 路径,且重启了 VS Code;
-
调试时闪退:确保图片路径正确,或在
waitKey(0)前加system("pause");临时查看错误信息。
总结
- VS Code 可以配置 OpenCV 环境,但需要依赖 MinGW-w64 编译器,且要手动配置 tasks.json(编译)和 launch.json(调试);
- 核心是在 tasks.json 中指定 OpenCV 的头文件路径(-I)、库路径(-L)和链接库(-lopencv_worldxxx);
- 必须将 OpenCV 的 bin 目录加入系统环境变量,否则运行时会缺失动态库。
和 Visual Studio 相比,VS Code 配置更灵活但步骤稍多,适合习惯轻量级编辑器的开发者;如果是新手且主要做 Windows 桌面开发,VS 的可视化配置会更省心。