gcc for windows_Windows下VSCode配置C++环境

介绍

本文介绍了如何在 Windows 10 下使用 VSCode 配置 C/C++ 环境,编译器采用 MinGW-w64(GCC 在 Windows 下的支持)

主要参考了微软 VSCode 官方文档配置 Mingw-w64文档:Mingw-w64 on Windows,含有大量的翻译内容


配置编译器

MinGW-w64

GCC for Windows 64 & 32 bits [mingw-w64]​mingw-w64.org
Mingw-w64 是原始 http:// mingw.org 项目的改进,旨在支持 Windows 系统上的 GCC 编译器。它在 2007 年进行了分叉,以提供对 64 位和新 API 的支持。从那以后,它得到了广泛的使用和分配。

注意 MinGW-w64 与 MinGW 是有区别的,不要选错

一、下载

托管在此网站:https://sourceforge.net/projects/mingw-w64/files/

可以直接选择在线安装器:MinGW-W64 Online Installer

  • MinGW-W64-install.exe

也可以选择相应版本安装,这里我选择的是

  • x86_64-posix-seh

二、安装

方法1. 使用安装包

cbb5677f91cf0983519bd08406755eda.png

选项说明:

52e2f5797e3e0b23e086819711d922f7.png

参考:https://wiki.qt.io/MinGW-64-bit

方法2. 压缩包(推荐)

下载相应的安装包,具体版本选择参考上表,选择合适位置解压至路径中没有空格的文件夹(换句话说,不能是 C:/Program Files/ 下的默认位置,可以是 C:mingw-w64

  1. 添加环境变量

将 mingw64 下的 bin 文件夹添加至 path

2. 检查

执行命令

g++ --version

gdb --version

配置 IDE

VSCode

step 1: 安装 MinGW-w64
step 2: 安装 C/C++ 插件
step 3: 配置

前2步大家都不会有问题,这里我们重点来讲第三步——配置

我们总共需要在 .vscode 文件夹下创建如下3个文件:

  • tasks.json (生成任务。告诉 VSCode 如何生成(编译)程序,该任务将调用 g++ 编译器以基于源代码创建可执行文件)
  • launch.json (调试器设置)
  • c_cpp_properties.json (编译器路径和 IntelliSense 设置)

具体操作说明:

1. 创建 C++ 示例代码文件 Hello World,并保存,确保存在于文件夹中,而非临时文件

示例代码:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
   vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

   for (const string& word : msg)
   {
      cout << word << " ";
   }
   cout << endl;
}
 

2. 配置 tasks.json,用于编译

a. 配置tasks.json

菜单 > 终端 > 配置默认生成任务
下拉列表中,列出了 C++ 编译器的各种预定义构建任务。选择 C/C++: g++.exe build active file。若是 C,请选择 C/C++: gcc.exe build active file,C 无法使用 g++.exe

Note: 是 C 还是 C++ 是根据文件后缀名来判断的,而非根据右下角选择的语言

完成后会在 .vscode 文件夹下创建 task.json 文件并打开

部分变量说明:

      • command 设置指定要运行的程序;在这种情况下是 g++
      • args 数组指定将传递给 g++ 的命令行参数。必须按照编译器期望的顺序指定这些参数。此任务告诉 g++ 获取活动文件(${file}),对其进行编译,并在当前目录(${fileDirname})中创建一个与活动文件同名但以 .exe 为扩展名(${fileBasenameNoExtension}.exe)的可执行文件,如 helloworld.exe 。可使用"${workspaceFolder}*.cpp"来替换 ${file},这将生成当前文件夹中的所有 .cpp 文件
      • label 是在任务列表中显示的值,可以随意命名
      • group"isDefault": true 指定当按 Ctrl + Shift + B 时将运行此任务。此属性仅出于方便起见;如果设置为 false,仍然可以使用“ 任务:运行构建任务”从“终端”菜单中运行
      • gourp 中的 "isDefault": true,指定当按下 Ctrl + Shift + B 时将运行此任务。此属性仅出于方便起见;如果将其设置为 false,仍可以使用“ 运行生成任务”从“终端”菜单中运行

附 task.json 变量参考

b. 运行生成任务,编译

回到 helloworld.cpp,按 Ctrl + Shift + B 或从“ 终端”菜单中选择“ 运行生成任务”
成功如图所示

256d975dca13608bfaabecbbf144acdc.png

且当前文件夹下会多出一个 helloworld.exe 文件,可以使用”+“按钮新建一个终端,用来执行它,输入.helloworld.exe

3. 配置 launch.json,用于调试

a. 配置 launch.json

F5 或 菜单 > 调试 > 添加配置 > 选择“ C ++(GDB / LLDB)”

将看到各种预定义调试配置的下拉列表,选择 g++.exe build and debug active file

VSCode 将会创建 launch.json 文件并打开
部分变量说明:

    • program 设置指定要调试的程序
    • 默认情况下,C++ 扩展不会在您的源代码中添加任何断点,并且 stopAtEntry 值设置为 false。将 stopAtEntry 值更改为 true 会导致调试器开始调试时在 main 方法上停止

记得保存修改

b. 调试

回到 helloworld.cpp,按 F5 或从主菜单中选择“ 调试”>“开始调试”

1b2ab1bee69de15caadc6cfba17459a9.png
      • Step over (单步跳过):前进到该程序中的下一条语句(跳过为初始化循环而执行的所有内部代码)
      • Step Into (单步调试):逐步浏览 C++ 标准库中的源代码,若要返回自己的代码,可以按 Step over (单步跳过)或者直接切换选项卡

具体调试过程省略,有兴趣的朋友可以在底部的参考链接参考官方文档中的调试

设置 WATCH :

可以用来跟踪变量的值

将断点设置为如图所示位置,并在 WATCH 窗口中点击“+”,在文本框中输入“word”,这是循环中的变量名,当逐步执行循环时,可发现 WATCH 窗口中的“word”的值在变化

6ca57840186cf8dc1d8e093c9f15c88a.png

可在调试时,将鼠标悬浮于变量中,快速查看任何变量的值

369d10a1e013d1f88ee4c307b58d74d9.png

4. 配置 c_cpp_properties.json,进一步配置 C/C++ 扩展。非必要步骤

a. 进入 C/C++ 插件配置界面

按快捷键 Ctrl+Shift+P 打开命令面板,输入 C/C++,选择“Edit Configurations(UI)”

将生成配置文件c_cpp_properties.json 并打开

b. 配置以下两个选项

第一项:编译器路径 compilerPath

应该会自动填充,我这里是 D:Developcompilersmingw64bingcc.execompilerPath 搜索顺序是:

      • 首先检查 Microsoft Visual C ++ 编译器
      • 然后在 Windows Subsystem for Linux(WSL)上寻找 g++
      • 然后是用于 Mingw-w64 的 g++

如果安装了 Visual Studio 或 WSL,则可能需要更改 compilerPath

第二项:IntelliSense 模式,选择 gcc-x64


配置文件参考

task.json

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "g++.exe build active file",
      "command": "C:mingw-w64i686-8.1.0-posix-dwarf-rt_v6-rev0mingw32bing++.exe",
      "args": ["-g", "${file}", "-o", "${fileDirname}${fileBasenameNoExtension}.exe"],
      "options": {
        "cwd": "C:mingw-w64i686-8.1.0-posix-dwarf-rt_v6-rev0mingw32bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}

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": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "C:mingw-w64i686-8.1.0-posix-dwarf-rt_v6-rev0mingw32bingdb.exe",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g++.exe build active file"
    }
  ]
}

c_cpp_properties.json

{
  "configurations": [
    {
      "name": "Win32",
      "includePath": ["${workspaceFolder}/**"],
      "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
      "compilerPath": "C:mingw-w64i686-8.1.0-posix-dwarf-rt_v6-rev0mingw32bingcc.exe",
      "cStandard": "c11",
      "cppStandard": "c++17",
      "intelliSenseMode": "clang-x86"
    }
  ],
  "version": 4
}

均位于 .vscode 文件夹下

不想看此文的小白的可以直接创建 .vscode 文件夹,在文件夹下创建这3个文件哦(但注意要修改一下mingw-w64的路径)!

参考

VSCode 官方文档:

Get Started with C++ and Mingw-w64 in Visual Studio Code​code.visualstudio.com
d379c51cbf1922a6d386881c045851cf.png
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows配置VSCode的C/C++开发环境需要以下步骤: 1. 首先下载并安装VSCode的system版本以及MinGW-w64。 2. 打开VSCode,按下Ctrl+Shift+P调出命令面板,输入"C/C++",选择"Edit Configurations(UI)"进入配置界面。 3. 在.vscode文件夹中会自动生成一个c_cpp_properties.json文件,这个文件用于配置C/C++编译器和头文件路径等信息。 4. 接下来,在项目下创建一个cpp文件,比如helloworld.cpp,输入以下示例代码: ```cpp #include <iostream> using namespace std; int main() { cout << "Hello World" << "\n"; cout << "for vscode config"; return 0; } ``` 5. 配置tasks.json文件,用于编译C/C++代码。可以使用以下配置作为参考: ```json { "version": "2.0.0", "tasks": [ { "type": "shell", "label": "C/C++: gcc build active file", "command": "g++", "args": [ "-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "${workspaceFolder}" }, "problemMatcher": ["$gcc"], "group": { "kind": "build", "isDefault": true } } ] } ``` 6. 现在你可以通过点击VSCode左下角的运行按钮或者按下Ctrl+Shift+B来编译你的C/C++代码了。 通过以上步骤,你就可以在Windows下使用VSCode进行C/C++开发了。注意,这只是一个简单的配置示例,你可以根据实际需求进行相应的修改。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [vscode c++环境 windows配置](https://blog.csdn.net/weixin_44359953/article/details/119063174)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* [windows+vscode配置C++环境](https://blog.csdn.net/weixin_48319333/article/details/127104461)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值