因为ubuntu工作站最近和人公用,一些小代码逻辑希望在本机windows10环境测试,配置过程中遇见过一些错误,故此分享顺利的一次配置流程,希望以后能因此少写一些BUG然鹅并不会
主要容易出问题的地方在于配置.vscode文件夹的json文件,故文章最后留下了可复制版本,可以保存备份,以后复制在源文件目录下即可直接食用
官网下载安装包安装
https://code.visualstudio.com/
一般打开VSCode会推荐安装,或者在VSCode使用 ctrl
+ shift
+ x
打开扩展页面搜索C/C++
安装
参考网页: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 环境变量:
系统 -> 关于 -> 高级系统设置 -> 环境变量
系统变量
中选择Path
新建
并将 Mingw-w64 目标文件夹路径添加到系统路径。确切的路径取决于您安装的 Mingw-w64 版本及其安装位置。如果使用上述设置安装 Mingw-w64,请将其添加到路径:D:\Mingw\W64\mingw64\bin
。或者选择编辑
然后浏览
找到该文件夹自动添加(注意不要直接浏览,容易替换原先的环境变量。先选择空行再浏览)确定
以保存更新的路径。需要重新打开任何控制台窗口才能使用新的 PATH 位置可以打开 Mingw-w64 终端分别输入如下指令检查是否正确安装
gcc --version
g++ --version
gdb --version
创建文件夹和.cpp文件,编写代码
!文件路径不要包含中文
配置.vscode文件夹的json文件
生成 c_cpp_properties.json
按下快捷键 ctrl
+ shift
+ p
,展示全局命令面板,搜索找到 C/C++ Edit Configurations
自动生成c_cpp_properties.json
文件
按下快捷键 ctrl
+ shift
+ p
,展示全局命令面板,搜索找到 Tasks: Configure Default Build Task
选择 C/C++: g++.exe生成活动文件
自动生成tasks.json
文件
生成 launch.json
选择 运行和调试
,点击 创建launch.json文件
选择 C++(GDB/LLDB)
进入 launch.json
文件界面,点击 添加配置
,选择C/C++:(gdb)启动
需要更改生成后的内容,更改程序路径和GDB路径,结果如图
.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"
}
]
}