0

0

VSCode配置OpenCV开发 计算机视觉VSCode搭建C++环境

雪夜

雪夜

发布时间:2025-08-16 23:54:02

|

545人浏览过

|

来源于php中文网

原创

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

vscode配置opencv开发 计算机视觉vscode搭建c++环境

简单来说,要在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的安装路径。

百度文心一格
百度文心一格

百度推出的AI绘画作图工具

下载

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配置问题。通常是因为以下原因:

  1. OpenCV库未正确链接:检查
    tasks.json
    文件中的
    -l
    选项是否正确指定了OpenCV库的名称和路径。
  2. 头文件未包含:确保你的C++代码中包含了所有需要的OpenCV头文件。例如,如果你使用了
    cv::imread
    函数,你需要包含
  3. 库文件路径错误:检查
    tasks.json
    文件中的
    -l
    选项是否指向了正确的OpenCV库文件目录。
  4. 编译器架构不匹配:确保你的编译器架构(例如x64)与OpenCV库的架构匹配。如果你使用的是64位的OpenCV库,你需要使用64位的编译器。
  5. 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进行计算机视觉开发了。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

419

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

535

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

311

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

77

2025.09.10

undefined是什么
undefined是什么

undefined是代表一个值或变量不存在或未定义的状态。它可以作为默认值来判断一个变量是否已经被赋值,也可以用于设置默认参数值。尽管在不同的编程语言中,undefined可能具有不同的含义和用法,但理解undefined的概念可以帮助我们更好地理解和编写程序。本专题为大家提供undefined相关的各种文章、以及下载和课程。

5389

2023.07.31

网页undefined是什么意思
网页undefined是什么意思

网页undefined是指页面出现了未知错误的意思,提示undefined一般是在开发网站的时候定义不正确或是转换不正确,或是找不到定义才会提示undefined未定义这个错误。想了解更多的相关内容,可以阅读本专题下面的文章。

3087

2024.08.14

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

590

2025.12.25

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

783

2023.07.26

java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

1

2026.01.29

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
go语言零基础开发内容管理系统
go语言零基础开发内容管理系统

共34课时 | 2.6万人学习

第二十三期_前端开发
第二十三期_前端开发

共98课时 | 7.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号