You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode启动C++项目提示程序不存在,如何修改launch.json自动创建缺失构建目录?

需求实现方案

该需求可以实现,无法仅通过修改launch.json单独完成,需要配合VSCode的任务配置文件tasks.json,在调试启动前执行构建前置任务,自动创建输出目录并完成编译生成可执行文件。


1 修改launch.json配置

在原有配置中新增preLaunchTask字段关联前置构建任务,同时建议将硬编码路径替换为VSCode内置变量${workspaceFolder}提升通用性,修改后参考配置如下:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "C/C++ Runner: Debug Session",
      "type": "cppdbg",
      "request": "launch",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "program": "${workspaceFolder}\\build\\Debug\\outDebug",
      "internalConsoleOptions": "openOnSessionStart",
      "MIMode": "gdb",
      "miDebuggerPath": "gdb",
      "externalConsole": false,
      "preLaunchTask": "build_cpp_debug",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }
  ]
}

2 新增tasks.json构建任务

在项目.vscode目录下新建tasks.json文件,配置自动创建目录、编译代码的任务,Windows环境使用MinGW gcc的参考配置如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build_cpp_debug",
            "type": "shell",
            "command": "New-Item -ItemType Directory -Force ${workspaceFolder}\\build\\Debug; g++ ${workspaceFolder}\\*.cpp -o ${workspaceFolder}\\build\\Debug\\outDebug -g",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"]
        }
    ]
}

如果使用CMake管理项目,无需手动写创建目录的命令,将command字段替换为以下内容即可,CMake会自动生成输出目录:

cmake -B ${workspaceFolder}/build -DCMAKE_BUILD_TYPE=Debug; cmake --build ${workspaceFolder}/build

注意事项

  • preLaunchTask的取值必须和tasks.json中label字段的内容完全一致,大小写也要匹配
  • 编译命令中必须携带-g参数,否则生成的可执行文件不含调试符号,无法正常启动调试
  • 如果是Linux/WSL环境,将路径分隔符替换为/,创建目录的命令替换为mkdir -p build/Debug
  • 若使用MSVC编译器,将编译命令替换为对应MSVC的编译指令即可

内容的提问来源于stack exchange,提问作者Moami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:15:00