vscode配置C/C++ windows编译环境。

1. vscode安装c/c++插件

在vscode右边侧边栏的插件扩展中安装c/c++调试插件

2. mingw-w64的安装,推荐直接下载离线版安装

第一种方式:通过自动安装程序指引安装。

安装程序下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/。注意是直接下载自动安装程序,而不是一堆的代码或者组件。

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download

如下面的第二个所示。第一个是32位的,已经不再维护。安装64位mingw-w64。

直接双击,点next后续可以一步步完成安装。详细看可以参考:https://www.cnblogs.com/ggg-327931457/p/9694516.html

第二种方式:直接下载离线版安装文件安装

离线文件路径:

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z/download

下载完后第三个压缩文件所示:

解压完后文件目录如下:

在安装目录的bin下面有后续需要用到的gcc编译器等,将路径加入到系统环境变量的path中。

cmd中输入gcc -v可以正常显示版本号,则安装正常。

3. vscode调试程序

新建一个文件夹,vscode打开文件夹,在文件夹中新建一个hello.c文件。点击调试按钮,选择C++(GDB/LLDB),会生成launch.json文件。

launch.json参考如下修改:

再新建一个tasks.json文件,参照如下配置。

选择vscode-->终端->运行任务,选择gcc。会生成与代码文件同名的.exe可执行文件,如图第3个文件。

然后选择调试,启动调试。可以看到程序正常运行了。代码中增加了一个循环,可以保持打印窗口一直在线。

=====================================

launch.josn文件:

{

"version": "0.2.0",

"configurations": [

{

"name": "(gdb) 启动",

"type": "cppdbg",

"request": "launch",

"program": "${fileDirname}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径,及默认执行文件名称

"args": [],

"stopAtEntry": false,

"cwd": "${workspaceFolder}",

"environment": [],

"externalConsole": true, // 修改为true

"MIMode": "gdb",

"miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // gdb安装对应的目录

"preLaunchTask": "gcc", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc

"setupCommands": [

{

"description": "为 gdb 启用整齐打印",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

]

}

]

}

===================================

tasks.josn文件

{

"version": "2.0.0",

"command": "gcc", //gcc地址

"args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 编译命令参数

"problemMatcher": {

"owner": "cpp",

"fileLocation": ["relative", "${workspaceRoot}"],

"pattern": {

"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",

"file": 1,

"line": 2,

"column": 3,

"severity": 4,

"message": 5

}

}

}

猜你喜欢

转载自blog.csdn.net/u010202588/article/details/103734158