Windows搭建C++编程环境(VSCode+Mingw-w64)

Windows + VSCode + C++(Mingw-w64)

因为ubuntu工作站最近和人公用,一些小代码逻辑希望在本机windows10环境测试,配置过程中遇见过一些错误,故此分享顺利的一次配置流程,希望以后能因此少写一些BUG然鹅并不会
主要容易出问题的地方在于配置.vscode文件夹的json文件,故文章最后留下了可复制版本,可以保存备份,以后复制在源文件目录下即可直接食用

安装VSCode

官网下载安装包安装
https://code.visualstudio.com/

安装C/C++插件

一般打开VSCode会推荐安装,或者在VSCode使用 ctrl + shift + x 打开扩展页面搜索C/C++安装

下载安装编译器Mingw-w64

参考网页:https://www.msys2.org/
在网页中点击下载链接
按步骤安装完成,本文路径使用D:\Mingw\W64\
打开MSYS的终端并输入

pacman -S mingw-w64-ucrt-x86_64-gcc

确认输入 y ,安装完成之后安装 Mingw-w64 工具链,指令如下

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

添加环境变量

使用以下步骤将 Mingw-w64 文件夹的路径添加到 Windows 环境变量:

  • 打开Windows设置。
  • 搜索系统 -> 关于 -> 高级系统设置 -> 环境变量
  • 系统变量中选择Path
  • 选择新建并将 Mingw-w64 目标文件夹路径添加到系统路径。确切的路径取决于您安装的 Mingw-w64 版本及其安装位置。如果使用上述设置安装 Mingw-w64,请将其添加到路径:D:\Mingw\W64\mingw64\bin。或者选择编辑然后浏览找到该文件夹自动添加(注意不要直接浏览,容易替换原先的环境变量。先选择空行再浏览)
  • 选择确定以保存更新的路径。需要重新打开任何控制台窗口才能使用新的 PATH 位置

可以打开 Mingw-w64 终端分别输入如下指令检查是否正确安装

gcc --version
g++ --version
gdb --version

配置VSCode

创建文件夹和.cpp文件,编写代码
!文件路径不要包含中文
Windows搭建C++编程环境(VSCode+Mingw-w64)_第1张图片
配置.vscode文件夹的json文件
生成 c_cpp_properties.json
按下快捷键 ctrl + shift + p,展示全局命令面板,搜索找到 C/C++ Edit Configurations
Windows搭建C++编程环境(VSCode+Mingw-w64)_第2张图片
自动生成c_cpp_properties.json文件
Windows搭建C++编程环境(VSCode+Mingw-w64)_第3张图片
按下快捷键 ctrl + shift + p,展示全局命令面板,搜索找到 Tasks: Configure Default Build Task
Windows搭建C++编程环境(VSCode+Mingw-w64)_第4张图片
选择 C/C++: g++.exe生成活动文件
Windows搭建C++编程环境(VSCode+Mingw-w64)_第5张图片
自动生成tasks.json文件
Windows搭建C++编程环境(VSCode+Mingw-w64)_第6张图片
生成 launch.json
选择 运行和调试,点击 创建launch.json文件
Windows搭建C++编程环境(VSCode+Mingw-w64)_第7张图片
选择 C++(GDB/LLDB)
Windows搭建C++编程环境(VSCode+Mingw-w64)_第8张图片
进入 launch.json 文件界面,点击 添加配置,选择C/C++:(gdb)启动
Windows搭建C++编程环境(VSCode+Mingw-w64)_第9张图片
需要更改生成后的内容,更改程序路径和GDB路径,结果如图
Windows搭建C++编程环境(VSCode+Mingw-w64)_第10张图片

测试"Hello World"

点击运行按钮,成功输出如图
Windows搭建C++编程环境(VSCode+Mingw-w64)_第11张图片
至此就可以愉快的测试了


.vscode文件夹三个json文件的可复制基础版本参考如下
!复制虽好,要注意对应自己的路径哦!
c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\Mingw\\W64\\mingw64\\bin\\gcc.exe",
            "cStandard": "c17",
            "cppStandard": "gnu++17",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/main.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\Mingw\\W64\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
        }
        

    ]
}

tasks.json

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

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