当前位置: 首页 > article >正文

VScode编译C++的配置文件

VScode编译C++配置

VScode如果配置好了编译器,比如g++(windows就是mingw64或者mscv)
只需要配置好launch.jsontask.json文件即可。
launch.json是调用配置好的带调试信息的exe文件进行debug,task.json一般是编译生成exe文件的步骤。

launch.json文件

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
        }
    ]
}
  • 其中"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",表示可执行的调试文件。
  • "preLaunchTask": "C/C++: g++.exe build active file"表示生成可执行的main.exe的任务,这个指令其中的名字匹配的是下面的task.json文件中的label,就是C/C++: g++.exe build active file,他主要的作用就是执行编译生成可调试文件的命令g++ -g .\main.cpp -o main.exe

task.json

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe build active file",
            "command": "C:\\Program Files\\x86_64-14.2.0-release-win32-seh-ucrt-rt_v12-rev0\\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": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

如果使用cmake或者g++自己编译了多个文件,这个办法就不可以使用,这个只能编译单个文件,这时候如果修改launch.json文件中的"program",然后注释掉"preLaunchTask": "C/C++: g++.exe build active file"就可以用自己的命令生成的exe文件继续调试了。
但是由于这样是用F5不会重新编译文件,所以最后无法使用费F5及时的随时调试新的文件。
如果想配置的话有两种方法:

  • 使用g++进行编译
  • 是用cmake进行编译

launch.json中各标签解释

  • name代表这个tasks.json中这个任务的名字
  • request代表调试模式,有launch和attach两种,后者适用于不停止的程序
  • program代表这个可执行文件
  • args代表这个可执行文件执行时可以选择的参数
  • cwd代表这个可执行文件当前的目录下
  • miDebuggerPath代表调试器的路径,这里用的是gdb

tasks.json中各标签解释

使用g++配置的tasks.json

使用cmake配置的tasks.json


http://www.kler.cn/a/371496.html

相关文章:

  • 使用Python和OpenCV实现火焰检测
  • <十六>Ceph mon 运维
  • echarts5.2.2实现 水球图表
  • WUP-MY-POS-PRINTER 旻佑热敏打印机票据打印uniapp插件使用说明
  • 【04】RabbitMQ的集群机制
  • 嵌入式软件 Bug 排查与调试技巧
  • 今日总结10.29
  • 【Mac】Homebrew
  • Soanrquber集成Gitlab 之 gitlab用户配置和身份验证
  • 深度学习:Overfitting 成因及解决策略
  • UDP组播测试
  • 【c语言】运算符汇总(万字解析)
  • 基于安卓Android的健康饮食系统APP(源码+文档+部署+讲解)
  • 【力扣打卡系列】二分查找(红蓝染色法)
  • mysql8性能参数查看及优化
  • Photoshop图像算法(十)(代码在每个原理后面)
  • 匹配销售策略的CRM系统挑选指南
  • 基于uniapp微信小程序的旅游系统
  • conda迁移虚拟环境路径
  • Halcon 颜色处理
  • 预览 PDF 文档
  • android 手机姿态(2)
  • scenedetect视频场景变换侦测与分割
  • Me 攒的GPT修改论文提示词
  • Unity GameFramework Star Force 拆解(一)—— 启动流程
  • 机器学习与神经网络:诺贝尔物理学奖的新方向