windows系统下VScode配置C++环境

注意!!!!!,先不要看这篇, 先看二 :(二) windows下配置VScode,写C++, 使用opencv库和openMVG依赖库 : windows下, VSCode使用opencv ;
因为本文方法在后期使用的时候有点问题,看完(二)配置opencv,在看(一)(只看,不操作),会熟悉vscode进行C++编程的逻辑。

背景简单说明

按理说Visual Studio Code只是个编辑器,不含编译器、链接器,直接用Visual Studio(IDE,集成开发环境,集成了编辑器、编译器以及链接器)写C++更方便,但是我需要使用Windows系统和Ubuntu系统,而Visual Studio官方没有直接提供Linux版本的下载链接。所以最终选择了vscode。微软官方提供了根据项目选择工具的推荐:https://visualstudio.microsoft.com/zh-hans/downloads/

Visual Studio 怎么添加OpenCV的代码提示_g++

前提

下载好对应系统的Visual Studio Code(VScode): https://code.visualstudio.com/download ;

下载其他的工具,例如Visual Studio: https://visualstudio.microsoft.com/zh-hans/downloads/

Visual Studio 怎么添加OpenCV的代码提示_windows_02

windows下配置VScode,搭建C/C++环境

配置逻辑:

  • 增加gcc编译功能、gdb调试功能(使用MinGM,这里有两个方法,方案一是直接使用mingw-w64安装包;方案二,使用Msys2安装mingw-w64)
  • 安装
  • 增加环境变量
  • 验证是否安装成功
  • 在VScode中增加扩展插件(方便写C++代码)
  • 在.cpp代码路径增加配置文件
  • tasks.json
  • launch.json
  • c_cpp_properties.json

1. 增加gcc编译功能、gdb调试功能

方案一:使用MinGW
  • 下载安装MinGW(mingw-w64项目是支持gcc编译功能、gdb调试功能的开发环境,用于支持Windows 64位和32位操作系统的原生二进制文件。):https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe
  • Visual Studio 怎么添加OpenCV的代码提示_json_03

    • 安装MinGW_s
    • Visual Studio 怎么添加OpenCV的代码提示_windows_04


    • Visual Studio 怎么添加OpenCV的代码提示_windows_05


    • Visual Studio 怎么添加OpenCV的代码提示_vscode_06

    • 参数选择
      参考文章:

      • version是版本,一般选最高版本;
      • architecture是系统架构,电脑系统是64位的选择x86_64,是32位的则选择 i686;
      • threads是操作系统接口协议, 如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix
      • exception是异常处理模型,推荐seh(64位系统)或dwarf(32位系统)
      • build revision,默认值即可
      • Visual Studio 怎么添加OpenCV的代码提示_json_07

      • 我本来想直接使用MinGW-W64的,但是我下载的安装包安装总是说下载的包错误,所以换成了方案二。
        接下来的操作步骤参考:
方案二:使用官网推荐的Msys2 (推荐这个)
  • 参考地址
    官方教程地址:https://code.visualstudio.com/docs/cpp/config-mingw msys2下载地址(官方):https://www.msys2.org/ 我的中文安装参考:
  • 安装过程
  • Visual Studio 怎么添加OpenCV的代码提示_g++_08

    Visual Studio 怎么添加OpenCV的代码提示_g++_09

  • 安装完成后会弹出黑框,而且菜单栏多了很多的图标:
  • Visual Studio 怎么添加OpenCV的代码提示_json_10

    Visual Studio 怎么添加OpenCV的代码提示_g++_11

  • 输入: pacman -Syu
  • Visual Studio 怎么添加OpenCV的代码提示_g++_12

  • 输入:Y (如果输入Y之后,黑框没了,在菜单栏找到MSYS2 MSYS,也可以在安装目录下找到,双击,弹出黑框,重新输入 pacman -Syu,更新剩下来的库)
  • Visual Studio 怎么添加OpenCV的代码提示_windows_13


  • Visual Studio 怎么添加OpenCV的代码提示_windows_14


  • Visual Studio 怎么添加OpenCV的代码提示_json_15

  • MSYS2已经配置完毕,现在下载mingw-w64 GCC来进行编译,输入指令pacman -S --needed base-devel mingw-w64-x86_64-toolchain进行下载
  • Visual Studio 怎么添加OpenCV的代码提示_g++_16

  • 等待下载完毕
  • Visual Studio 怎么添加OpenCV的代码提示_c++_17

    Visual Studio 怎么添加OpenCV的代码提示_g++_18

  • 关闭黑框,查看msys64的安装文件夹,查看是否有以下文件,如果有说明已经成功下载gcc了
  • Visual Studio 怎么添加OpenCV的代码提示_g++_19

  • 增加环境变量
  • Visual Studio 怎么添加OpenCV的代码提示_c++_20

  • 进行进一步——验证是否可以使用:按windows+R ,输入cmd,弹出黑框后,输入g++ --versiongdb --versiongcc -vg++ -v等查看版本信息。
  • Visual Studio 怎么添加OpenCV的代码提示_json_21


  • Visual Studio 怎么添加OpenCV的代码提示_windows_22

二. 在vscode中增加扩展工具:c/c++

Visual Studio 怎么添加OpenCV的代码提示_json_23

其他可以扩展的插件,根据需要增加:Code Runner(代码运行器);Tabnine(AI自动代码填充);chinese(改界面英文为中文)

三. 配置文件的生成

1. c++程序的编译配置(tasks.json配置)

打开一个文件目录,新建一个.cpp文件

Visual Studio 怎么添加OpenCV的代码提示_c++_24


Visual Studio 怎么添加OpenCV的代码提示_vscode_25


输入测试代码:

```

#include

int main()
{
    std::cout << "Hello World" << std::endl;
}

```

Visual Studio 怎么添加OpenCV的代码提示_json_26

进行build(编译):单击Terminal——> run build task——>c/c++:g++.exe build active file/生成活动文件——>生成了.vscode/tasks.json文件

Visual Studio 怎么添加OpenCV的代码提示_windows_27

Visual Studio 怎么添加OpenCV的代码提示_windows_28

Visual Studio 怎么添加OpenCV的代码提示_c++_29


.vscode/tasks.json文件(该文件是自己生成的,如果是复制别人的,代码中的路径等需要自己修改成自己的):

{
		    "tasks": [
		        {
		            "type": "cppbuild",
		            "label": "C/C++: g++.exe 生成活动文件",
		            "command": "D:/msys64_vscodeUseC/msys64/mingw64/bin/g++.exe",
		            "args": [
		                "-fdiagnostics-color=always",
		                "-g",
		                "${file}",
		                "-o",
		                "${fileDirname}\\${fileBasenameNoExtension}.exe"
		            ],
		            "options": {
		                "cwd": "D:/msys64_vscodeUseC/msys64/mingw64/bin"
		            },
		            "problemMatcher": [
		                "$gcc"
		            ],
		            "group": {
		                "kind": "build",
		                "isDefault": true
		            },
		            "detail": "调试器生成的任务。"
		        }
		    ],
		    "version": "2.0.0"
		}

2. 程序运行配置( launch.json文件配置)

点击RUN——>Add Configuration——>点击node.js——>生成./vscode/launch.json文件

Visual Studio 怎么添加OpenCV的代码提示_g++_30


Visual Studio 怎么添加OpenCV的代码提示_vscode_31

Visual Studio 怎么添加OpenCV的代码提示_windows_32

./vscode/launch.json文件

```
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++.exe - Build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "D:\\msys64\\mingw64\\bin\\gdb.exe",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++: g++.exe build active file"
    }
  ]
}
```

注意:此配置文件是按步骤操作后自己生成的,如果是复制别人的,程序中的路线需要进行修改;

3. 针对c/c++相关拓展的配置

按下Ctrl+Shift+P以打开全局搜索——>C/C++: Edit configurations(UI)——>进行参数修改

Visual Studio 怎么添加OpenCV的代码提示_vscode_33

Visual Studio 怎么添加OpenCV的代码提示_g++_34

Visual Studio 怎么添加OpenCV的代码提示_c++_35

Visual Studio 怎么添加OpenCV的代码提示_c++_36

此时.vscode文件夹中出现c_cpp_properties.json文件,内容如下:

{
    "configurations": [
        {
            "name": "GCC",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "D:/msys64_vscodeUseC/msys64/mingw64/bin/g++.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

4. 配置成功:

Visual Studio 怎么添加OpenCV的代码提示_json_37

他人的提醒注意:

  • 生成task.json和launch.json文件之前,务必切换到.cpp或者.c文件,否则自动生成的task.json和launch.json无法编译对应的.cpp和.c;
  • 建议不同的编程语言采用不同的文件夹;
  • 将.vscode文件夹备份一份,以后需要的时候直接复制即可,不用再花时间进行配置了;
  • 因为vscode在执行完程序后会退出,所以可以选择增加一个system(“pause”)者加一句getchar();
    此外,把launch.json文件中"externalConsole"项目的值改为“true”,就能看到外部控制台了(默认是false,使用集成控制台)