一文解决VS Code安装、C++环境配置、OpenCV配置

前言

本文包括 VScode安装C++环境配置以及 OpenCV配置全过程。VS Studio配置OpenCV比较简单,可以直接使用OpenCV官网已有的用VS Studio编译器编译好的OpenCV库。但 VS Code不能直接利用VS Studio编译好的OpenCV库,因此 需要借助MinGW-64和CMake工具对OpenCV源码重新进行编译(编译前提是C:\Users目录下不能包含中文,否则无法成功编译)。

一、资源下载

1、VS Code

⭐百度网盘是我自己下载的版本,与官网最新版本不一定一致。
1)百度网盘下载:VSCodeSetup-x64-1.66.2.exe (提取码:ggec)
2)官网下载:Visual Studio Code(官网下载速度很慢,可以安装IDM,使用方法可参考下载外网资源加速

一文解决VS Code安装、C++环境配置、OpenCV配置

; 2、MinGW-w64

1)百度网盘下载:x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z (提取码:2dis)
2)官网下载:MinGW-w64离线包下载地址(一定要是”seh”后缀的,千万别错了!!!)

一文解决VS Code安装、C++环境配置、OpenCV配置

; 3、CMake

1)百度网盘下载:cmake-3.9.0-rc3-win64-x64 .zip (提取码:h7tj)
2)官网下载:CMake(要选择二进制文件,即Binary distributions栏目)

一文解决VS Code安装、C++环境配置、OpenCV配置

; 4、OpenCV

1)百度网盘下载:opencv-4.5.5-vc14_vc15.exe (提取码:0hf7)
2)官网下载:OpenCV

一文解决VS Code安装、C++环境配置、OpenCV配置

; 二、环境配置

1、VS Code安装

双击.exe文件开始安装,同意此协议,点击下一步:

一文解决VS Code安装、C++环境配置、OpenCV配置
选择安装路径,点击下一步:
一文解决VS Code安装、C++环境配置、OpenCV配置
点击下一步:
一文解决VS Code安装、C++环境配置、OpenCV配置
根据图中提示勾选,点击下一步:
一文解决VS Code安装、C++环境配置、OpenCV配置
点击安装:
一文解决VS Code安装、C++环境配置、OpenCV配置

; 2、VS Code的C++配置

选择喜欢的界面形式,点击Mark Done:

一文解决VS Code安装、C++环境配置、OpenCV配置
按图中所示步骤安装 C/C++C/C++ Extension PackC/C++ IntellisenseCode Runner插件:
一文解决VS Code安装、C++环境配置、OpenCV配置
桌面新建一个test文件夹,再在VS Code界面点击Open Folder打开文件夹,进行简单测试:
一文解决VS Code安装、C++环境配置、OpenCV配置
选择trust:
一文解决VS Code安装、C++环境配置、OpenCV配置
点击左上角File –> New File –> 按ctrl+s保存文件名为hello.cpp,写一个测试代码:
#include
using namespace std;

int main(){
    cout<<"Hello world!"<<endl;

    return 0;
}

VS code每次修改代码都需要手动保存才能编译,否则会报错,这里设置一下自动保存:

一文解决VS Code安装、C++环境配置、OpenCV配置
点击右上角三角形进行编译:
一文解决VS Code安装、C++环境配置、OpenCV配置
这个地方报错,是因为VS Code只是一个编辑器,如果想正常运行C++程序还需要安装编译器。

3、MinGW-w64安装

解压MinGW-w64压缩包,存在下图文件夹:

一文解决VS Code安装、C++环境配置、OpenCV配置
将该文件夹的bin路径添加到环境变量中(添加到系统变量中):
一文解决VS Code安装、C++环境配置、OpenCV配置

检查MinGW-w64是否安装成功,若成功则如下图所示:

一文解决VS Code安装、C++环境配置、OpenCV配置
重启VS Code,再次运行程序成功:
一文解决VS Code安装、C++环境配置、OpenCV配置

; 4、OpenCV配置

将opencv-4.5.5-vc14_vc15.exe解压到除C盘外的其他盘内(若是C盘,cmake 时很可能报错)

一文解决VS Code安装、C++环境配置、OpenCV配置
在 opencv\build\x64 路径下新建一个文件夹(可自起,这里是 MinGW )
一文解决VS Code安装、C++环境配置、OpenCV配置

5、CMake安装

将cmake-3.9.0-rc3-win64-x64解压,文件夹如图所示:

一文解决VS Code安装、C++环境配置、OpenCV配置
将该文件夹下的bin文件路径添加到环境变量(添加到系统变量中):
一文解决VS Code安装、C++环境配置、OpenCV配置

检查cmake是否安装成功:

一文解决VS Code安装、C++环境配置、OpenCV配置

; 6、生成MakeFiles

进入D:\cmake-3.9.0-rc3-win64-x64\bin,先不要进行任何操作:

一文解决VS Code安装、C++环境配置、OpenCV配置
在操作cmake-gui之前,如果没有翻过墙的话,先用记事本方式打开C:\Windows\System32\drivers\etc\hosts,在文件的末尾加上 151.101.72.133 raw.githubusercontent.com(因为cmake-gui会下载一些文件, 这些文件都在raw.githubusercontent.com上, 如果不修改一下hosts,许多文件很可能会下载失败)。(如果hosts文件修改后无法保存,则是因为电脑默认hosts权限为只读,在属性里修改hosts文件为可写即可成功保存,记得环境配置好之后把hosts属性改回去,以保护电脑安全性)。
一文解决VS Code安装、C++环境配置、OpenCV配置
一文解决VS Code安装、C++环境配置、OpenCV配置
打开cmake-gui,选择OpenCV的源文件路径和MakeFiles保存路径(即之前新建的MinGW):
一文解决VS Code安装、C++环境配置、OpenCV配置
点击Configure,弹窗配置如下,点击Next:
一文解决VS Code安装、C++环境配置、OpenCV配置
选择前面安装的D:/mingw64/bin文件夹下的gcc.exe和g++.exe,点击Finsh
一文解决VS Code安装、C++环境配置、OpenCV配置
–> 耐心等待中。。。
执行过程中消息框会出现一堆红色信息,最后显示Configure done,是正常的。显示Configure done后,勾选 BUILD_ opencv_worldWITH_ OPENGLBUILD EXAMPLES,不勾选 WITH_IPPWITH_MSMFENABLE_PRECOMPILED_HEADERS (如果有的话), CPU_ DISPATCH选空。再次点击 Configure
–> 耐心等待中。。。
这次执行完后仍有错误如下:
一文解决VS Code安装、C++环境配置、OpenCV配置
即使修改了hosts,仍然会有文件没有成功下载,这个时候需要手动下载它们。可以用浏览器访问下载链接,或者使用迅雷等下载器进行下载。在自创建的MinGW下的CMakeDownloadLog.txt文件中列出了所有丢失文件的下载链接,比如:

https://raw.githubusercontent.com/opencv/opencv_3rdparty/4d348507d156ec797a88a887cfa7f9129a35afac/ffmpeg/opencv_videoio_ffmpeg.dll

一个个访问这些链接,下载后放到OpenCV源文件里.cache的相应子文件夹中替代原缓存文件(下载的文件重命名为相应地缓存文件名并删除原缓存文件)。这样从头到尾下载CMakeDownloadLog.txt中列出的所有丢失文件,之后,再次点击Configure,出现configure down之后点击Generate,显示Generate Done。

一文解决VS Code安装、C++环境配置、OpenCV配置

如果MakeFiles文件成功生成,则CMakeDownloadLog.txt内容如下所示:

一文解决VS Code安装、C++环境配置、OpenCV配置

7、编译OpenCV

使用 cmake 时要求安装 python3(版本没有限制,比2高就行),并且python 必须配好了环境变量。
cmd到MakeFiles所在文件夹,执行如下命令:

mingw32-make -j 8

一文解决VS Code安装、C++环境配置、OpenCV配置
如果报错可查阅编译报错解答,如果编译成功则执行如下命令完成装载:
mingw32-make install

一文解决VS Code安装、C++环境配置、OpenCV配置
将D:\opencv\build\x64\MinGW\bin加入环境变量(添加到系统变量中):
一文解决VS Code安装、C++环境配置、OpenCV配置

8、VS Code配置

(1)launch.json配置

一文解决VS Code安装、C++环境配置、OpenCV配置
一文解决VS Code安装、C++环境配置、OpenCV配置
一文解决VS Code安装、C++环境配置、OpenCV配置
在生成的launch.json文件中复制一下代码(需要配置miDebuggerPath项,注意修改name、preLaunchTask的 opencv版本号):
{

    "version": "0.2.0",
    "configurations": [
        {
            "name": "opencv4.5.5 debuge",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:/mingw64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "opencv4.5.5 compile task"
        }
    ]
}

(2)c_cpp_properties.json配置

按快捷键crtl+shift+p,出现如下弹窗:

一文解决VS Code安装、C++环境配置、OpenCV配置
一文解决VS Code安装、C++环境配置、OpenCV配置
一文解决VS Code安装、C++环境配置、OpenCV配置
一文解决VS Code安装、C++环境配置、OpenCV配置
配置完成会自动生成c_cpp_properties.json文件:
一文解决VS Code安装、C++环境配置、OpenCV配置

; (3)task.json配置

点击Terminal的Configure Tasks:

一文解决VS Code安装、C++环境配置、OpenCV配置
出现如下弹窗,选择C/C++:g++.exe生成活动文件
一文解决VS Code安装、C++环境配置、OpenCV配置
生成task.json文件:
一文解决VS Code安装、C++环境配置、OpenCV配置

(4)settings.json配置

按ctrl+, 出现如下弹窗,输入code-runner:Executor Map,点击下方的 Edit in settings.json

一文解决VS Code安装、C++环境配置、OpenCV配置
点击 Edit in settings.json之后会生成settigs.json(该文件地址是:C:\Users\WCJ\AppData\Roaming\Code\User\settings.json),在生成的settings.json中复制如下代码(注意修改cpp项的地址和链接插件):
{
    "workbench.colorTheme": "Default Light+",
    "editor.suggest.snippetsPreventQuickSuggestions": false,
    "code-runner.runInTerminal": true,
    "files.autoSave": "afterDelay",
    "code-runner.executorMap": {

        "javascript": "node",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp":"cd $dir && g++ $fileName -o $fileNameWithoutExt -I D:/opencv/build/include -L D:/opencv/build/x64/MinGW/bin  -l libopencv_world455 -l opencv_videoio_ffmpeg455_64 && $dir$fileNameWithoutExt",
        "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "php": "php",
        "python": "python -u",
        "perl": "perl",
        "perl6": "perl6",
        "ruby": "ruby",
        "go": "go run",
        "lua": "lua",
        "groovy": "groovy",
        "powershell": "powershell -ExecutionPolicy ByPass -File",
        "bat": "cmd /c",
        "shellscript": "bash",
        "fsharp": "fsi",
        "csharp": "scriptcs",
        "vbscript": "cscript //Nologo",
        "typescript": "ts-node",
        "coffeescript": "coffee",
        "scala": "scala",
        "swift": "swift",
        "julia": "julia",
        "crystal": "crystal",
        "ocaml": "ocaml",
        "r": "Rscript",
        "applescript": "osascript",
        "clojure": "lein exec",
        "haxe": "haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt",
        "rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",
        "racket": "racket",
        "scheme": "csi -script",
        "ahk": "autohotkey",
        "autoit": "autoit3",
        "dart": "dart",
        "pascal": "cd $dir && fpc $fileName && $dir$fileNameWithoutExt",
        "d": "cd $dir && dmd $fileName && $dir$fileNameWithoutExt",
        "haskell": "runhaskell",
        "nim": "nim compile --verbosity:0 --hints:off --run",
        "lisp": "sbcl --script",
        "kit": "kitc --run",
        "v": "v run",
        "sass": "sass --style expanded",
        "scss": "scss --style expanded",
        "less": "cd $dir && lessc $fileName $fileNameWithoutExt.css",
        "FortranFreeForm": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran-modern": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran_fixed-form": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "fortran": "cd $dir && gfortran $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
    },
    "window.zoomLevel": 1,
    "files.associations": {
        "iostream": "cpp",
        "ostream": "cpp"
    }
}

三、测试案例

1、测试代码

#include
#include
#include
using namespace std;
using namespace cv;

int main()
{
    string path = "C:/Users/WCJ/Desktop/0402/01/0.bmp";
    cv::Mat img = imread(path);
    imshow("img",img);
    waitKey(0);
    return 0;
}

2、测试结果

一文解决VS Code安装、C++环境配置、OpenCV配置

Original: https://blog.csdn.net/weixin_43101257/article/details/124472866
Author: Cassia tora
Title: 一文解决VS Code安装、C++环境配置、OpenCV配置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/701778/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球