首先配置MinGW-w64环境并添加到Path,再在VSCode中安装C/C++扩展,接着配置c_cpp_properties.json指定OpenCV头文件路径,修改tasks.json加入编译和链接参数,设置launch.json用于调试,最后编写测试程序验证环境是否搭建成功。

简单来说,要在VSCode里愉快地进行OpenCV的C++开发,你需要配置好C++环境,然后让VSCode知道OpenCV的头文件和库在哪里。
配置OpenCV开发环境,让VSCode成为你的计算机视觉利器!
如何安装MinGW-w64并配置环境变量?
MinGW-w64是Windows环境下GCC编译器的发行版,是C++开发的基础。首先,访问SourceForge下载MinGW-w64,注意选择正确的架构(通常是x86_64)和异常处理模型(seh或sjlj,推荐seh)。安装时,选择一个合适的安装目录,比如
C:\mingw64。
安装完成后,需要配置环境变量。打开“系统属性” -> “高级” -> “环境变量”,在“系统变量”中找到“Path”,点击“编辑”,添加MinGW-w64的
bin目录到Path中,例如
C:\mingw64\bin。这样,你就可以在命令行中使用g++命令了。
立即学习“C++免费学习笔记(深入)”;
验证是否安装成功,可以在cmd窗口输入
g++ -v,如果显示g++的版本信息,就说明安装成功了。如果提示找不到命令,检查环境变量是否配置正确。有时候,重启电脑可以解决环境变量不生效的问题,玄学但有效。
如何在VSCode中配置C++编译环境?
VSCode本身只是一个编辑器,需要借助插件来支持C++开发。安装C/C++扩展,这个是微软官方的,必备。
安装好C/C++扩展后,需要配置
tasks.json和
launch.json文件。这两个文件分别用于配置编译任务和调试任务。
在VSCode中打开你的C++项目,按下
Ctrl+Shift+P,输入“C/C++: Edit Configurations (JSON)”,选择生成
c_cpp_properties.json文件。在这个文件中,你需要指定OpenCV的头文件路径。例如:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/opencv/build/include" // OpenCV头文件路径
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
"compilerPath": "C:/mingw64/bin/g++.exe", // g++编译器路径
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}同样,按下
Ctrl+Shift+P,输入“Tasks: Configure Task”,选择“C/C++: g++.exe build active file”生成
tasks.json文件。修改
tasks.json文件,添加OpenCV库的链接选项。例如:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe build active file",
"command": "C:/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I",
"C:/opencv/build/include", // OpenCV头文件路径
"-L",
"C:/opencv/build/x64/mingw/lib", // OpenCV库文件路径
"-lopencv_world450" // OpenCV库名称,根据你的OpenCV版本修改
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
]
}最后,配置
launch.json文件,用于调试程序。按下
Ctrl+Shift+P,输入“Debug: Open launch.json”,选择“C++ (GDB/LLDB)”生成
launch.json文件。修改
launch.json文件,指定可执行文件的路径。例如:
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:/mingw64/bin/gdb.exe", // gdb调试器路径
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}注意替换文件中的路径为你自己的OpenCV和MinGW-w64的安装路径。
OpenCV库文件应该如何正确链接?
链接OpenCV库是让你的程序能够使用OpenCV函数的关键。在
tasks.json文件中,
-l选项用于指定要链接的库。OpenCV的库名称通常是
opencv_world加上版本号。例如,如果你的OpenCV版本是4.5.0,那么库名称就是
opencv_world450。
确保
-l选项指定的路径是OpenCV库文件所在的目录。通常,这个目录是
C:/opencv/build/x64/mingw/lib。
如果你的程序使用了OpenCV的特定模块,例如
opencv_imgproc或
opencv_core,你需要在
-l选项中添加这些模块的库名称。
有时候,链接顺序也很重要。如果你的程序在链接时出现未定义的引用错误,尝试调整库的链接顺序。
遇到编译错误“undefined reference to”怎么办?
这是最常见的OpenCV配置问题。通常是因为以下原因:
-
OpenCV库未正确链接:检查
tasks.json
文件中的-l
选项是否正确指定了OpenCV库的名称和路径。 -
头文件未包含:确保你的C++代码中包含了所有需要的OpenCV头文件。例如,如果你使用了
cv::imread
函数,你需要包含
。 -
库文件路径错误:检查
tasks.json
文件中的-l
选项是否指向了正确的OpenCV库文件目录。 - 编译器架构不匹配:确保你的编译器架构(例如x64)与OpenCV库的架构匹配。如果你使用的是64位的OpenCV库,你需要使用64位的编译器。
- OpenCV版本不匹配:确保你的代码中使用的OpenCV函数与你安装的OpenCV版本匹配。不同版本的OpenCV可能存在API变化。
如果问题仍然存在,尝试清理你的项目并重新构建。在VSCode中,你可以使用“Tasks: Run Task”命令,选择“C/C++: g++.exe build active file”来重新构建你的项目。
如何编写一个简单的OpenCV程序来测试配置是否成功?
创建一个名为
main.cpp的文件,包含以下代码:
#include#include int main() { cv::Mat image = cv::imread("test.jpg"); // 读取图像 if (image.empty()) { std::cout << "Could not open or find the image" << std::endl; return -1; } cv::imshow("Display window", image); // 显示图像 cv::waitKey(0); // 等待按键 return 0; }
将一个名为
test.jpg的图像文件放在与
main.cpp相同的目录下。
按下
Ctrl+Shift+B构建项目,然后按下
F5运行程序。如果一切配置正确,你应该能够看到一个窗口显示
test.jpg图像。
如果程序能够成功编译和运行,并且能够显示图像,那么恭喜你,你的OpenCV开发环境已经配置成功了!现在你可以开始使用OpenCV进行计算机视觉开发了。










