IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> VSCode配置C++环境编译环境 -> 正文阅读

[开发工具]VSCode配置C++环境编译环境

前言:本文通过整合各博客内容形成一套自己尝试后可行的配置方法。

1、下载VScode及MinGW编译器

依照VSCode配置C/C++环境博客1章节——5.2章节设置。

2、设置编译C++代码的脚本:

依照VScode tasks.json和launch.json的设置,设置tasks.json和launch.json两文件。
本文重点介绍这两文件,附上各命令的解释:

// tasks.json文件的设置:
{
	"version": "2.0.0",
	"tasks": [
		{
			"label": "Build",  // 任务名字:Build  注意是大小写区分的,等会在launch中调用这个名字
			"type": "shell",  // 任务类型:shell命令
			"command": "g++.exe", // 任务执行的命令: g++
			//"command": "D:\\Programs\\mingw-w64\\mingw64\\bin\\g++.exe", // 任务执行的命令: g++
			"args": [  // 任务命令的参数:
				"-fdiagnostics-color=always",
				"'-Wall'",  // 编译后显示所有告警
                "'-std=c++17'",  //使用c++17标准编译
				"-g",  // 添加gdb调试信息
                "'${file}'", //当前文件名
                "-o", //对象名,不进行编译优化
				"${workspaceFolder}\\bin\\${fileBasenameNoExtension}.exe"
			],
			// 所以以上部分,就是在shell中执行(假设文件名为filename.cpp)g++ -g filename.cpp -o bin/filename.exe
			"options": {
				"cwd": "${workspaceFolder}"
			},
			"problemMatcher": [
                "$gcc" // 使用gcc捕获错误
			],
			"group": {
				"kind": "build",
				"isDefault": true
				// 任务分组,因为是tasks而不是task,意味着可以连着执行很多任务
                // 在build组的任务们,可以通过在Command Palette(F1) 输入run build task来运行
                // 当然,如果任务分组是test,你就可以用run test task来运行 
			},
			// "detail": "编译器: D:\\Programs\\mingw-w64\\mingw64\\bin\\g++.exe"
		}
	]
}
// launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "test_code",  //  launch任务的名字:test_code
            "preLaunchTask": "Build",  //在launch之前运行的任务名:这个名字一定要跟tasks.json中的任务名字大小写一致
            "type": "cppdbg",  // 配置类型:只能为cppdbg
            "request": "launch",  // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceFolder}/bin/${fileBasenameNoExtension}.exe",  // 任务程序的路径名称:需要运行的是当前打开文件的目录中,名字和当前文件相同,但扩展名为exe的程序
            "args": [],  // 程序传递的参数:一般设为空即可
            "stopAtEntry": false,  // 程序在入口是否停止:选为true则会在打开控制台后停滞,暂时不执行程序
            "cwd": "${workspaceFolder}",  // 调试程序时的工作目录:一般为${workspaceFolder},即代码所在目录
            "environment": [],
            "externalConsole": false,  // 输出窗显示形式:true显示外置的控制台窗口,false显示内置终端
            "MIMode": "gdb",
            //"miDebuggerPath": "D:/Programs/mingw-w64/mingw64/bin/gdb.exe",  // miDebugger的路径:和MinGW的路径对应
            "miDebuggerPath": "gdb.exe",  // miDebugger的路径:和MinGW的路径对应
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }]
}

3、扩展:编译多个CPP文件:

以下这部分是扩展的,以上内容已实现对于单个cpp文件的编译,满足日常调试。
以下为设置一套工程,只要理解了第二小结的内容,就可以读懂下面这篇文章。
参考:vscode一键配置C/C++多个C及CPP文件编译与tasks.json和launch.json原理,我还没尝试,初步看了是可行的。

额外参考资料:
1、cmake中加入gdb调试

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:57:14  更:2022-04-22 18:59:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:52:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码