Windows上VScode编译C++

本文详细介绍如何在Windows系统上使用VSCode进行C++程序的编译、运行和调试。从安装Mingw-w64到配置launch.json和tasks.json,再到使用CodeRunner插件,一步步指导读者搭建C++开发环境。

一、安装 Mingw-w64

在win10 系统上用vscode编辑器来编译C++,首先Windows系统上必须要安装 MinGW-w64。其安装的详细过程可参考(MinGW-w64安装教程),在参考这篇文章进行安装MinGW-w64时,由于一些原因无法下载,所以总提示某个文件下载失败。最后找的离线下载地址(MinGW-win64离线版本下载地址)来将其下载到本地后,再解压到指定的文件夹,该文件夹即为MinGW-win64的安装目录。将解压后的目录中的bin 文件夹路径(D:\ProgramFiles\Mingw64\bin)添加到系统变量的Path路径下,该方法参考(windows下安装mingw-w64)。 

安装好MinGW-w64 后可以打开 cmd 或者 PowerShell ,输入  g++  --version 来查看,出现如下所示版本信息即可。

二、vscode中 *.cpp 程序的编译与运行

1、直接在终端通过命令行进行编译与运行

(1)、首先在打开的目录中新建 c1.cpp 源文件,如下

  

(2)、按 Ctrl + ~  键来打开终端,然后切换到 c1.cpp 文件所在的路径下。或者直接右键源文件,点击箭头所指选项,将直接以 c1.cpp 文件所在路径打开终端。(在Windows系统下的路径斜杠为“\”)

  

(3)、在终端直接以命令行的形式来对 c1.cpp 源文件进行编译(在Windows系统中,可执行文件必须以 .exe 为后缀,Linux则无此限制),则会在当前目录下产生 *.exe 文件。

  

(4)、运行编译所产生的  c1.exe 文件。

  

2、通过插件 Code Runner 来直接一步实现编译与运行,简化了操作流程。

 Code Runner插件默认的c/c++编译器是gcc/g++,需要提前安装好Mingw-64,并且设置好环境变量 。

  

 点击右上角的小三角形,即可进行编译与运行,如下图:

  

注意:Code Runner插件相当于自动的执行 g++  *.cpp  -o  *.exe  ,当程序的编译和执行还需要其它的参数时,可能用Code Runner插件将无法有效的编译。此时可以使用手动的命令行来进行编译与运行。

三、vscode的配置与调试:

以上的两种方法都只是对 *.cpp程序直接进行编译运行,并不能实现对程序进行断点调试。要实现对程序的断点调试,则需要对vscode进行配置。

1、首先在打开的根目录下建立 c1.cpp 源文件。

2、配置 launch.json 文件

(1)、依次点击如下图所示的编号(或者直接按F5后,,再点击下图编号3),在根目录下创建 .vscode 文件夹及 launch.json 文件。

  

  (2)、将箭头4处的程序路径修改为编译后生成的 *.exe 可执行文件的路径名。将箭头5处修改为Mingw-64安装目录中的gdb.exe文件的路径。在箭头5处的下面添加调试程序之前需要进行编译的选项。

  

 修改后的 launch.json 文件内容如下:

launch.json 文件配置如下:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:/ProgramFiles/Mingw64/bin/gdb.exe",
            "preLaunchTask": "g++",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

3、配置 tasks.json 文件

(1)、 按 Ctrl+Shift+P 或者 F1 后,在出现的命令提示栏中输入Run Task ,然后选中箭头所指的选项。

  

(2)、依次选中下图箭头所指的选项 ,并按 Enter 键确定。

  

  

  

(3)、将会在根目录中的.vscode 文件夹中出现 tasks.json 文件,并处于打开编辑状态。如下图

  

(4)、对 tasks.json 文件进行编辑,该文件作用是相当于把 *.cpp文件编译成 *.exe文件。

修改后的 tasks.json 文件如下:

tasks.json 文件的配置如下:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "g++",
            //"type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ]
        }
    ],
    "presentation": {
        "echo": true,
        "reveal": "always",
        "focus": false,
        "panel": "shared",
        "showReuseMessage": true,
        "clear": false
    }
}

4、将 launch.json 文件和 tasks.json 文件配置完成后,便可回到 c1.cpp 文件下,设置断点,按F5 开始启动断点调试。

 然后再按F10 进行单步执行(F11 可以进入函数或对象内部)。在单步调试的过程中可以将鼠标放在相应的变量上,便会显示相应变量的值。也可以在左侧的调试面板上查看当前局部变量的值。

 

参考资料:

[1]  windows下使用vscode编写运行以及调试C/C++

[2]  在 Windows 下使用 Visual Studio Code 搭建 C 语言开发环境

[3]  使用 VS Code 搭建适用于 ACM 练习的 C/C++ 开发环境

 

### 配置 VSCode 编译 C++17 #### 安装必要的软件和工具 为了能够在 Windows 上使用 VSCode 编译 C++17 代码,首先需要安装合适的编译器和支持工具。推荐使用 MinGW-w64 或者 Microsoft 的 Visual Studio Build Tools 中的 MSVC 编译器。 对于 MinGW-w64 用户,在安装过程中应确保选择了支持 C++17 版本的标准库[^1]。 #### 插件安装 在 VSCode 内部需安装一系列辅助插件来增强体验: - **C/C++**: 提供 IntelliSense 和其他功能的支持。 - **Better C++ Syntax**: 改善语法高亮效果。 - **CMake** 及 **CMake Tools**: 如果计划采用 CMake 构建系统的话。 - **Code Runner**: 方便快速执行单个文件而不必设置完整的构建任务[^2]。 #### 设置 `tasks.json` 文件 为了让 VSCode 正确调用 g++ 来编译 C++17 代码,可以在工作区根目录下的 `.vscode/tasks.json` 添加如下配置项: ```json { "version": "2.0.0", "tasks": [ { "label": "build hello world", "type": "shell", "command": "g++", "args": [ "-std=c++17", // 使用 c++17 标准 "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe", "${file}" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "detail": "Generated task to build a single cpp file using gcc" } ] } ``` 这段 JSON 代码定义了一个名为 “build hello world” 的任务,它会告诉 VSCode 如何通过命令行参数 `-std=c++17` 将当前打开的 .cpp 文件按照 C++17 标准进行编译,并生成对应的可执行文件[^3]。 #### 修改 launch.json 进行调试 如果希望能在 VSCode 下直接启动并调试程序,则还需要调整 `.vscode/launch.json` 文件的内容以便于集成 GDB/Lldb 调试器: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/hello.exe", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "/path/to/gdb", // 替换成实际路径 "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build hello world", "internalConsoleOptions": "openOnSessionStart" } ] } ``` 这里的关键在于 `"preLaunchTask"` 字段指定了先运行前面提到的任务完成编译之后再开始调试过程;同时也要注意修改 `"miDebuggerPath"` 为你本地 GDB 的绝对路径[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值