环境配置:OpenCV(c++)
# 配置cpp opencv 的 Windows vscode编译环境
> :link: 链接:
>
> mingw:https://pan.quark.cn/s/cb6d3cb6d4cf
>
> opencv:https://opencv.org/releases/
>
> cmake:https://pan.quark.cn/s/d40f6922312c
1、下载mingw压缩包,并解压mingw,把`X:\xxx\mingw64\bin`路径添加到系统环境变量
2、下载opencv源码,并在那个目录旁边新建一个build文件夹
3、下载cmake,打开cmake,第一行选择opencv源码根目录路径,第二行选刚刚创建的build文件夹路径

4、点选`Configure`,在下拉框选`MinGW Makefiles`,单选栏选`Use default native compilers`,开始cmake,注意:
- 勾选BUILD_EXAMPLES、BUILD_opencv_world,WITH_OPENGL
- 不勾选WITH_IPP、WITH_MSMF和ENABLE_PRECOMPILED_HEADERS(如果有的话),CPU_DISPATCH选空。
然后,界面会红一下,再点一次`Configure`即可。

5、在cmake好后,打开cmd,cd进入opencv的build目录,执行` MinGW32-make -j8 `开始编译
> 参数j是多线程数,可以视情况选`j4`、`j8`、`j16`
6、编译好之后,` minGW32-make install `安装,然后添加环境变量,比如我的是`D:\code_env\opencv_460_build\bin`
7、前往vscode,去应用商店下载微软的c++插件,然后自己找个目录是放代码的,用vscode打开这个文件夹。 在此文件夹下新建一个.vscode文件夹,再继续新建三个.json文件(`tasks.json`,`launch.json`,`c_cpp_properties.json`)。
```json
//c_cpp_properties
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"D:/code_env/mingw64/include/**",
"D:/code_env/opencv_460_build/install/include",
"D:/code_env/opencv_460_build/install/include/opencv2"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:/code_env/mingw64/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++11",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
```
```json
//tasks
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "opencv460", //任务名称,要和launch.json的"preLaunchTask"字段对应
"command": "D:/code_env/mingw64/bin/g++.exe", //编译器路径
"args": [
"-g", //控制台编译时输入的-g,表示生成调试有关信息,编译生成可执行文件调试
"-std=c++11",
// "-static",
"-fexec-charset=GBK",// 令mingw按GBK编码⽣成exe⽂件 GBK
"-finput-charset=UTF-8",// 令mingw按UTF-8编码处理(此参数可以不设置)//
"${file}",//要编译的文件,默认只能编译单个文件
"-o", //指定生成的可执行文件的名字,编译不加 -o 默认生成就是a.exe
" {fileBasenameNoExtension}.exe",
"-I","D:/code_env/opencv_460_build/install/include",
"-I","D:/code_env/opencv_460_build/install/include/opencv2",
"-I ${fileDirname}\..\include",//添加本地文件的头文件路径,否则提示头文件找不到
"-L","D:/code_env/opencv_460_build/bin",
"-l","libopencv_world460",
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true // 开启编译快捷键, ctrl + shift + B
},
"detail": "编译器: D:/code_env/mingw64/bin/g++.exe"
}
]
}
```
```json
//launch
{
"version": "0.2.0",
"configurations": [
{
"name": "opencv460",
"type": "cppdbg",
"request": "launch",
"program": " {fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false, //这里如果为 false,则说明调试直接运行。(反之则停止)
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false, //是否调用外部cmd
"MIMode": "gdb",
"miDebuggerPath": "D:/code_env/mingw64/bin/gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
],
"preLaunchTask": "opencv460"
}
]
}
```
然后可以写代码了
```cpp
#include<opencv2/opencv.hpp>
#include<iostream>
int main()
{
cv::Mat img;
cv::VideoCapture capture(0);
int key;
while(true){
capture >> img;
cv::imshow("test", img);
key=cv::waitKey(30);
if(key==27){
break;
}
}
return 0;
}
```
使用<kbd>ctrl</kbd>+<kbd>shift</kbd>+<kbd>b</kbd>运行。或按<kbd>F5</kbd>运行也可以。一般来说,已经配置完毕了。
原文链接:https://tuoyou-hao.github.io/2023/02/26/env_build_win_cv_cpp_vscode/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库