Windows下VSCode配置C++环境

1.安装VSCode

VS Code官网下载安装包
Windows下VSCode配置C++环境_第1张图片

1.1 安装过程

Windows下VSCode配置C++环境_第2张图片
Windows下VSCode配置C++环境_第3张图片
Windows下VSCode配置C++环境_第4张图片Windows下VSCode配置C++环境_第5张图片
Windows下VSCode配置C++环境_第6张图片
自此VS Code安装好了,接下来安装MinGW!!!

2.安装MinGW

MinGW的官网中下载对应版本的文件
Windows下VSCode配置C++环境_第7张图片
可以选择在线安装或者直接将包下载解压。
Windows下VSCode配置C++环境_第8张图片一般Windows下选择上面的选项即可,参数说明如下所示:

2.1各参数说明

①电脑的处理器架构Architecture
Architecture 是指电脑处理器是 32位 还是 64位,根据你的电脑系统做出对应选择。我的电脑处理器是 64位 的,所以我选择了 x86_64,如果你是 32位 系统,则选择 i686 即可。注意,下面是可以选择的Architecture类型:

  • i386 通常被用来作为对Intel(英特尔)32位微处理器的统称;
  • i686 是i386的子集,也是针对32位的处理器
  • x86-64 又称“AMD64”或“x64”,是一种64位元的电脑处理器架构。它是建基于现有32位元的x86架构,由AMD公司所开发。

②操作系统接口协议threads
这个世界上只有两种操作系统接口协议,即所谓的posix和win32,如果你想要开发 Windows 程序,需要选择 win32 ,而开发 Linux、Unix、Mac OS 等其他操作系统下的程序,则需要选择 posix 。其实是什么意思呢?就是在这两个不同的协议之下,有很多函数接口是不一样的,比如在Linux上面的C程序不能直接拿到Windows上面运行,因为有一些函数库是不一样的。我只开发在 Windows 下运行的程序,所以选择了 win32 。但是依然更加推荐选择posix

  • posix :启用C ++ 11 / C11多线程功能。 比如我们希望编译OpenCV,需要用到C++ 11的多线程里面的一些类,如果使用的是win32,就会报错,因为win32没有这些类。
  • win32 :没有C ++ 11多线程功能。

如果要使用win32的 API,就不能使用POSIX呢?其实GCC带有一个编译器运行库(libgcc),它用于(除其他外)提供一个底层操作系统抽象,用于支持多语言相关功能。 最相关的例子是libstdc ++的C ++ 11 , 和 ,当使用内部的Win32线程模型构建GCC时,没有完整的实现。 MinGW-w64提供了一个winpthreads(在Win32多线程API之上的一个pthreads实现),然后GCC可以链接到所有的奇特功能
posix:可移植操作系统接口,是 IEEE 为要在各种 UNIX 操作系统上运行软件,而定义API的一系列互相关联的标准的总称,因此在实际中选择posix会更全面。

③异常处理模型Exception
异常处理在开发中非常重要,你在开发的过程中,大部分的时间会耗在处理各种异常情况上。又分为几种情况:

  • x86_64 即64位处理器。如果你之前选择了 64位,则这里有两个异常处理模型供你选择,seh 是新发明的,而 sjlj 则是古老的,seh 性能比较好,但不支持 32位。 sjlj 稳定性好,支持 32位。我选择seh.
  • i686 即32位处理器。选择了 32位 后,则可以用 dwarf 和 sjlj 两种异常处理模型。同样的,dwarf 的性能要优于 sjlj ,可以它不支持 64位 。建议选择 dwarf 。

总结:Mingw-w64的离线文件命名格式为“architecture+threads+exception"
Windows下VSCode配置C++环境_第9张图片
可以自己修改路径,后续要根据这个安装路径配置环境。
安装完成之后配置环境:
①此电脑右键进入属性
Windows下VSCode配置C++环境_第10张图片
②进入系统环境
Windows下VSCode配置C++环境_第11张图片
Windows下VSCode配置C++环境_第12张图片

Windows下VSCode配置C++环境_第13张图片
将MinGW安装路径中的bin路径加入path环境中去:C:\Program Files\mingw-w64\x86_64-8.1.0-win32xxx\mingw64\bin
其中bin文件中各文件:

  • gcc.exe
  • g++.exe
  • mingw32-make.exe,这个就相当于是Linux下面的make.exe。单个按我们也可以创建一个他的副本,重命名为make.exe.
  • gdb.exe 用于调试的
  • cpp.exe 是专门用于预处理的
  • as.exe 是专门用于进行汇编的
  • ld.exe 是专门进行链接的

在CMD中输入验证path环境是否配置成功

gcc -v

出现下图所示表明环境配置成功了
Windows下VSCode配置C++环境_第14张图片

3.在VSCode中配置C++环境

在VS Code中安装C++
Windows下VSCode配置C++环境_第15张图片
新建一个文件夹用VS Code打开,并且在里面创建一个.cpp文件:
在这里插入图片描述

#include 
using namespace std;
int main()
{
    cout << "hello word" << endl;
    return 0;
}

①配置编译器
在VS Code中按快捷键Ctrl+Shift+P调出命令面板,输入C/C++,选择“Edit Configurations(UI)”进入配置。这里配置两个选项: - 编译器路径:D:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/g++.exe
Windows下VSCode配置C++环境_第16张图片

这里的路径根据大家自己安装的Mingw编译器位置和配置的环境变量位置所决定。

Windows下VSCode配置C++环境_第17张图片

IntelliSense 模式:gcc-x64

Windows下VSCode配置C++环境_第18张图片

配置好之后在项目文件里面会多一个.vscode文件夹,并且里面有一个c_cpp_properties.json文件,内容如下,说明上述配置成功。

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.18362.0",
            "compilerPath": "C:/Program Files/mingw-w64/x86_64-8.1.0-win32/mingw64/bin/g++.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

Windows下VSCode配置C++环境_第19张图片
现在可以进行编译运行了。
终端下输入

g++ .\helloword.cpp #生成a.exe文件
.\a.exe  #执行编译文件
#输出helloword

Windows下VSCode配置C++环境_第20张图片
②配置构建任务

接下来,创建一个tasks.json文件来告诉VS Code如何构建(编译)程序。该任务将调用g++编译器基于源代码创建可执行文件。 按快捷键Ctrl+Shift+P调出命令面板,输入tasks,选择“Tasks:Configure Default Build Task”:

Windows下VSCode配置C++环境_第21张图片

再选择“C/C++: g++.exe build active file”:

Windows下VSCode配置C++环境_第22张图片

此时会出现一个名为tasks.json的配置文件,内容如下:

{
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "C:/Program Files/mingw-w64/x86_64-8.1.0-win32/mingw64/bin/g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "C:/Program Files/mingw-w64/x86_64-8.1.0-win32/mingw64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

Windows下VSCode配置C++环境_第23张图片

③配置调试设置

这里主要是为了在.vscode文件夹中产生一个launch.json文件,用来配置调试的相关信息。点击菜单栏的Debug–>Start Debugging:

在VS Code中执行:运行→启动调试→C++(GDB/LLDB)
Windows下VSCode配置C++环境_第24张图片
紧接着会产生一个launch.json的文件:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "C:/Program Files/mingw-w64/x86_64-8.1.0-win32/mingw64/bin",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\Program Files\\mingw-w64\\x86_64-8.1.0-win32\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

Windows下VSCode配置C++环境_第25张图片
如果没有上述内容可以手动添加。

现编写一个debug.cpp文件测试调试,设置断点后,按下F5进入调试,如图成功调试, 左侧为变量内容:

Windows下VSCode配置C++环境_第26张图片

主要参考文章:
https://blog.csdn.net/qq_27825451/article/details/102531426
https://zhuanlan.zhihu.com/p/87864677

你可能感兴趣的:(C++,vscode,c++,windows)