一、安装vscode和cc++的插件
二、安装MinGW-w64并配置
1、下载及安装
下载MinGW-w64,下载完成之后安装,安装时安装目录自定义或者默认都行,安装过程中需要设置的选项:
- Version :GCC 版本,直接选最高;
- Architecture :CPU 架构,系统如果为64位,则选择 x86_64;
- Threads :API 模式,使用默认选项;
- Exception :异常处理方式,seh 仅针对 64 位架构,sjlj 则兼容 32 位架构;
- Build revision :修订版本,使用默认选项;
若安装过程中出现部分文件下载失败的情况,请选择使用免安装版,点击此处下载,提取码:97x4
,下载后直接解压即可。
2、配置环境变量
win7下找到系统环境变量path,增加已安装或者解压的MinGW-w64的安装目录(一直到bin目录下),我这边安装目录是C:\MinGW-w64\mingw64\bin
,增加之后逐步保存退出,打开cmd输入gcc --version
是否已经生效,如下如是已经生效。
三、配置编译及启动等文件
1、编写一个demo
创建你的工作区,比如我这边F:\cc++
,新建一个main.cpp
文件,内容:
#include <stdio.h>
int main()
{
printf("hello world.\n");
return 1;
}
2、配置c_cpp_properties.json
编写完成之后,vscode自动提示未找到#include <stdio.h>
,点击提示的黄灯,点击按钮Add include path to setting
,会在工作区下生成一个.vscode
的文件夹,下面有一个c_cpp_properties.json
的文件。如果没有提示的话,直接到你的工作区的目录下创建一个c_cpp_properties.json
的目录。然后填写下面的内容,注意:##注释下面的路径,需要与自己安装目录一致。
{
"configurations": [{
"name": "MinGW",
"intelliSenseMode": "gcc-x64",
"compilerPath": "C:/MinGW-w64/mingw64/bin/x86_64-w64-mingw32-gcc.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"includePath": [
## 下面路径中的 C:/MinGW-w64 部分需要替换成你的 MinGw-w64 安装路径
"${workspaceFolder}/**",
"C:/MinGW-w64/mingw64/x86_64-w64-mingw32/include",
"C:/MinGW-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++",
"C:/MinGW-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/tr1"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE",
"__GNUC__=7",
"__cdecl=__attribute__((__cdecl__))"
],
"browse": {
"path": [
## 下面路径中的C:/MinGW-w64 部分需要替换成你的 MinGw-w64 安装路径
"${workspaceFolder}/**",
"C:/MinGW-w64/mingw64/x86_64-w64-mingw32/include",
"C:/MinGW-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++",
"C:/MinGW-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.3.0/include/c++/tr1"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}],
"version": 4
}
3、配置launch.json
打开main.cpp
,F5开始调试,会弹出选择环境
的面板,这里选择C++(GDB/LLDB)
,如下:
同样在工作区.vscode下打开文件luanch.json
文件,清空内容填写以下内容并保存:
{
"version": "0.2.0",
"configurations": [{
// 配置 VS Code 调试行为:
"name": "GDB Debug", // 设置在启动配置下拉菜单中显示调试配置的名称。
"preLaunchTask": "Compile", // 调试会话开始前要运行的任务。
"type": "cppdbg", // 设置要使用的基础调试器。使用 GDB 或 LLDB 时必须是 cppdbg 。
"request": "launch", // 设置启动程序还是附加到已经运行的实例。启动或附加 ( launch | attach ).
"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 调试器将启动或附加的可执行文件的完整路径。
"externalConsole": true, // 设置是否显示外部控制台。
"logging": { // 用于确定应该将哪些类型的消息记录到调试控制台。
"exceptions": true, // 是否应将异常消息记录到调试控制台。默认为真。
"moduleLoad": false, // 是否应将模块加载事件记录到调试控制台。默认为真。
"programOutput": true, // 是否应将程序输出记录到调试控制台的可选标志。默认为真。
"engineLogging": false, // 是否应将诊断引擎日志记录到调试控制台。默认为假。
"trace": false, // 是否将诊断适配器命令跟踪记录到调试控制台。默认为假。
"traceResponse": false // 是否将诊断适配器命令和响应跟踪记录到调试控制台。默认为假。
},
// 配置目标应用程序:
"args": [], // 设置调试时传递给程序的命令行参数。
"cwd": "${workspaceFolder}", // 设置调试器启动的应用程序的工作目录。
"environment": [], // 设置调试时添加到程序环境中的环境变量,例如: [ { "name": "squid", "value": "clam" } ]。
// 自定义 GDB 或者 LLDB:
"windows": {
"MIMode": "gdb", // 指定 VS Code 连接的调试器,必须为 gdb 或者 lldb。
"miDebuggerPath": "C:/MinGW-w64/mingw64/bin/gdb.exe" // 调试器的路径,修改为你的安装路径
},
"miDebuggerArgs": "", // 传递给调试器的附加参数
"stopAtEntry": false, // 设置调试器是否停止在目标的入口(附加时忽略)。默认值为 false。
"setupCommands": [{ // 执行下面的命令数组以设置 GDB 或 LLDB
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing", // 鼠标悬停查看变量的值,需要启用 pretty-printing 。
"ignoreFailures": true // 忽略失败的命令,默认为 false 。
}]
}]
}
修改字段miDebuggerPath
的内容与自己环境上的安装目录一致。
4、配置task.json
再次按F5,提示找不到任务
入口,点击配置任务
,然后再弹出的命令面板上选择使用模板创建task.json文件
,清空里面的内容增加以下内容:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"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": "\\usr\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++.exe build active file"
}
]
}
5、到此配置完成
配置完成后在工作区.vscode下存在三个文件,就是上面增加的三个文件。如果你还想再创建其他的 C 语言开发工作区,我们只需要新建一个文件夹,再把现在已有工作区目录下的 .vscode 文件夹复制到新建的文件夹即可:
以下按钮,选择编译或者调试。
参考链接:https://segmentfault.com/a/1190000014800106