1.安裝MinGW
并配置環(huán)境變量path
在終端輸入gcc -v驗證
2.安裝cmake
3.官方下載opencv源碼source
在cmake中編譯,新建D:\opencv目錄
先執(zhí)行configure再執(zhí)行g(shù)enerate
opencv目錄下終端輸入mingw32-make -j 8
完成后在輸入
mingw32-make install
至此編譯完成。
4.配置json文件
c_cpp_properties.json配置修改注釋掉的兩行
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"D:\\opencv\\install\\include",
"D:\\opencv\\install\\include\\opencv",
"D:\\opencv\\install\\include\\opencv2"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"windowsSdkVersion": "10.0.19041.0",
//"compilerPath": "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.31.31103/bin/Hostx64/x64/cl.exe",
"compilerPath": "D:/mingw64/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
//"intelliSenseMode": "windows-msvc-x64"
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
tasks.json配置在args下添加文章來源:http://www.zghlxwxcb.cn/news/detail-520021.html
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活動文件",
"command": "D:\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-I",
"D:\\opencv\\install\\include",
"-I",
"D:\\opencv\\install\\include\\opencv",
"-I",
"D:\\opencv\\install\\include\\opencv2",
"-L",
"D:\\opencv\\bin",
"-l",
"libopencv_calib3d3416",
"-l",
"libopencv_core3416",
"-l",
"libopencv_dnn3416",
"-l",
"libopencv_features2d3416",
"-l",
"libopencv_flann3416",
"-l",
"libopencv_highgui3416",
"-l",
"libopencv_imgcodecs3416",
"-l",
"libopencv_imgproc3416",
"-l",
"libopencv_ml3416",
"-l",
"libopencv_objdetect3416",
"-l",
"libopencv_photo3416",
"-l",
"libopencv_shape3416",
"-l",
"libopencv_stitching3416",
"-l",
"libopencv_superres3416",
"-l",
"libopencv_video3416",
"-l",
"libopencv_videoio3416",
"-l",
"libopencv_videostab3416",
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "調(diào)試器生成的任務(wù)。"
}
],
"version": "2.0.0"
}
#include <iostream>
using namespace std;
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main(int argc, char** argv){
Mat image;
image = cv::imread("1.jpg");
imshow("image",image);
waitKey(0);
//if(image.data== nullptr)//nullptr是c++11新出現(xiàn)的空指針常量
//{
// cout<<"圖片文件不存在"<<endl;
// return 0;
//}
//else
// cout<<image<<endl;//你會發(fā)現(xiàn)圖片就是一個矩陣
return 0;
}
如果其間遇到問題
VScode:ERROR: Unable to start debugging. Unexpected GDB output from command “-exec-run“
原因:windows 環(huán)境變量中的設(shè)置順序問題,導(dǎo)致 libstdc++ -6.dll 文件沖突了
簡單來說就是 mingw64\bin 環(huán)境變量位置在后面, 導(dǎo)致 gdb 調(diào)試時選擇的 libstdc++ -6.dll 不是 mingw64\bin 中的,而是前面的環(huán)境變量中的該文件
解決方法
方法一、將 mingw64\bin 中的 libstdc++ -6.dll 拷貝到項目目錄
或者參考
測試代碼文章來源地址http://www.zghlxwxcb.cn/news/detail-520021.html
到了這里,關(guān)于vscode配置opencv環(huán)境【完整版】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!