Windows下vscode单个文件和多个文件编译执行和调试

https://www.bilibili.com/video/BV1q8411z7xU?p=13&vd_source=a302e304b0aa60652c390b422ff81ab8

编译执行:tasks.json
调试程序:launch.json

多个程序编译若不配置会出现以下错误

the prelaunchTask ‘C/C++:g++.exe build active file’ terminated with exit code -1

在这里插入图片描述

解决方案——配置tasks.json文件

1

在这里插入图片描述

2

在这里插入图片描述
由1变成2即可解决

若程序调试不进行配置则会出现以下错误

launch:program ‘c:\Users…\build\Debug\outDebug’ does not exit

在这里插入图片描述

解决方案——配置launch.json文件

单文件

创建Add.c

#include <stdio.h>

int Add(int x, int y)
{
  return x + y;
}

int main()
{
  int a =10;
  int b = 20;
  int c = Add(a,b);
  printf("a + b = %d\n",c);

  return 0;
}

Configure Tasks

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

tasks.json

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: gcc.exe build active file",
			"command": "C:/x86_64-8.1.0-release-win32-seh-rt_v6-rev0/mingw64/bin/gcc.exe",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",//需要编译的文件,file单个文件
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe",//输出的文件的名字是"${fileDirname}\\${fileBasenameNoExtension}.exe"
				""
			],
			"options": {
				"cwd": "C:/x86_64-8.1.0-release-win32-seh-rt_v6-rev0/mingw64/bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "compiler: C:/x86_64-8.1.0-release-win32-seh-rt_v6-rev0/mingw64/bin/gcc.exe"
		}
	]
}

将单个文件编译成可执行文件.exe文件。
在这里插入图片描述
在终端中执行即可。
在这里插入图片描述

多文件

Add.c

#include <stdio.h>

int Add(int x, int y)
{
  return x + y;
}

Add.h

int Add(int x, int y);

test.c

#include <stdio.h>
#include "Add.h"

int main()
{
  int a = 10;
  int b =50;
  int sum = Add(a,b);
  printf("%d\n",sum);
}

执行结果

在这里插入图片描述

重点配置tasks.json文件

在这里插入图片描述

c++配置

1、编辑配置

ctrl+shift+p调出编辑配置选项
在这里插入图片描述

在这里插入图片描述
为了能够编译C++,可以添加g++编译器
在这里插入图片描述
指定代码提示工具gcc-x64(legacy)
在这里插入图片描述
最终在c_cpp_properties.json生成编译选项如下所示
在这里插入图片描述

2、生成C++源文件编译的tasks信息

在这里插入图片描述
生成编译配置
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

vscode调试代码——launch.json文件

launch.json
在这里插入图片描述
在这里插入图片描述

launch.json需要修改的地方两处:
1、“program”:
2、“miDebuggerPath”:
在这里插入图片描述
由tasks.json生成的是这个文件,那么launch.json也是调试这个文件。
在这里插入图片描述
调试器gdb的路径
在这里插入图片描述
将gdb路径添加上,注意需要增加****
在这里插入图片描述
最终修改launch.json如下

{
      "name": "C/C++ Runner: Debug Session",
      "type": "cppdbg",
      "request": "launch",
      "args": [],
      "stopAtEntry": false,
      "externalConsole": true,
      "cwd": "c:/Users/rsd/Desktop/qizi",
      "program": "${workspaceFolder}\\${workspaceRootFolderName}.exe",
      "MIMode": "gdb",
      "miDebuggerPath": "C:\\x86_64-8.1.0-release-win32-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ]
    }

最终可调试
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

tasks.json另外一种配置

在这里插入图片描述

launch.json另外一种配置

在这里插入图片描述

### 配置 VSCode 使用 GCC 编译多个文件 为了实现多文件编译,在 Visual Studio Code (VSCode) 中可以通过配置 `tasks.json` 文件来完成此操作。以下是详细的说明: #### 创建项目结构 假设项目的目录结构如下: ``` project/ ├── main.cpp ├── swap.cpp └── .vscode/ └── tasks.json ``` 其中,`main.cpp` `swap.cpp` 是两个源文件。 --- #### 配置 `tasks.json` 在 `.vscode/` 目录下创建或编辑 `tasks.json` 文件,用于定义编译任务。以下是一个完整的示例配置[^1]: ```json { "version": "2.0.0", "tasks": [ { "label": "build multi-file project", "type": "shell", "command": "g++", "args": [ "-g", // 添加调试信息 "${workspaceFolder}/main.cpp", // 主文件路径 "${workspaceFolder}/swap.cpp", // 辅助文件路径 "-o", // 输出选项 "${workspaceFolder}/my_multi_swap" // 可执行文件名 ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ] } ``` 上述配置实现了以下功能: - `-g`: 向生成的可执行文件中添加调试信息。 - `${workspaceFolder}`: 动态获取当前工作区根目录。 - `"${workspaceFolder}/main.cpp"` `"${workspaceFolder}/swap.cpp"`: 明确指定参与编译的源文件。 - `-o ${workspaceFolder}/my_multi_swap`: 将最终生成的可执行文件命名为 `my_multi_swap` 并保存到工作区根目录。 通过这种方式可以轻松支持多文件编译。 --- #### 运行调试 1. **运行任务**: 打开命令面板 (`Ctrl+Shift+P`),输入并选择 `Tasks: Run Build Task` 或按快捷键 `Ctrl+Shift+B` 来触发构建任务。 2. **启动调试器**: 如果需要调试程序,还需要进一步配置 `launch.json` 文件。例如[^2]: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/my_multi_swap", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build multi-file project" } ] } ``` 该配置会自动调用之前定义的任务 `build multi-file project` 构建目标文件,并加载生成的可执行文件进行调试。 --- #### 安装必要的插件支持工具 如果尚未安装 C/C++ 插件,请按照以下步骤操作: 1. 按快捷键 `Ctrl+Shift+X` 打开扩展市场。 2. 搜索 “C/C++” 插件(由 Microsoft 提供),点击安装。 3. 确保已安装 GNU 工具链(如 gcc/g++ gdb)。如果没有,请根据操作系统文档安装相应软件包。 --- ### 总结 通过以上方法可以在 VSCode 中成功配置多文件编译环境。核心在于合理利用 `tasks.json` `launch.json` 的组合,从而满足复杂工程的需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值