1.问题
在vscode中配置opencv库,安装一直不成功,看过很多文章,基本思路大体都一行,就是在编译过程中出现各种问题,消耗了一天半的时间,出现接连的错误时几乎奔溃,决定记下帮助更多人避坑。
之前一直用的python环境下使用opencv。是之前就安装vscode,及C++配置,最近配置opencv时,出现很多问题,解决文章已有很多,总结下自己的安装步骤。
2.解决
在看了很多博文和视频后。推荐一位博主的安装视频
便是按照这个视频步骤进行的,在进行到3分20秒后作者不没有进行详细的操作,省略掉的步骤参考这个博主的文章https://blog.youkuaiyun.com/scott198510/article/details/125843447(我大体框架参考这边博文)中的这一段,如下所示。
所有的红色config完后,在通过输入搜索找的上述字母内容进行勾选的添加或去除。然后再点击Generate。接下来可以回到视频中继续进行了,进行minGW32-make install漫长的安装,配置相关文件。
注意:cmake_gui中出现:error in configuration process, project files may be invalid,时可能opencv源文件路径没有找对。
1.解决编译不通过
经过我一段时间的安装,最终还是再46%处出现了问题。老是在编译过程中出了问题。后来经过一天的网上各种博客/视频,终于找到问题的所在,问题出现在编译过程中,config后,下面框中会出现一部分红色报错,
查看红色中的错误,缺少相关opencv_word.dll两个文件。可以参考下这个视频中的cmake过程(中间时间段,评论下面会有两个文件网盘连接)https://www.bilibili.com/video/BV1Za4y1v7ra/?spm_id_from=333.999.0.0&vd_source=2e33085512e31cc1becd7895aabcebe8,将两个文件放置到相应文件夹下。
如果还有其它红色报错问题,复制出来网上搜索下,基本都能找到问题(我的发现是某个对号没有打上)。再config后我的就没有没有出现红色报错问题,然后可以generate了。接下来的编译很顺利,没有出现任何问题(opencv文件放置路径文件夹名字好像不是不能有空格,我是改过文件放置地方)。嗷嗷
2.vscode配置过程中的一些小问题,会出现找不到头文件路径。#include<opencv2/opencv.hpp> 没有文件,
https://blog.youkuaiyun.com/qq_37379108/article/details/106367869参考。文件配置有问题,一定要配置好。
我的三个文件配件配置为如下,可参考一下。
c_cpp_properties.json
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/Library/CPP/mingw64-posix/include/**",
// "C:/Library/CPP/mingw64-posix/x86_64-w64-mingw32/include/**",
"D:/Opencv_cplus/opencv4/build/install/include",
"D:/Opencv_cplus/opencv4/build/install/include/opencv2"
// "D:/Opencv_cplus/opencv4/build/install/x64/mingw/lib"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:/Library/CPP/mingw64-posix/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "opencv4.5.3 debuge",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false, //这里如果为 false,则说明调试直接运行。(反之则停止)
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true, //是否调用外部cmd
"MIMode": "gdb",
"miDebuggerPath": "C:/Library/CPP/mingw64-posix/bin/gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": false
}
],
"preLaunchTask": "opencv4.5.3 compile task"
}
]
}
task.json
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "opencv4.5.3 compile task",
"command": "C:\\Library\\CPP\\mingw64-posix\\bin\\g++.exe",
"args": [
"-g",
"-std=c++11",
"-fexec-charset=GBK",
"-finput-charset=UTF-8",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I","D:/Opencv_cplus/opencv4/build/install/include",
"-I","D:/Opencv_cplus/opencv4/build/install/include/opencv2",
"-L","D:/Opencv_cplus/opencv4/build/bin",
"-l","libopencv_world453"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: C:\\Library\\CPP\\mingw64-posix\\bin\\g++.exe"
}
]
}