2025-11-04
开发环境搭建
00

目录

必要的步骤
安装 VS Code
VS Code 中的配置
插件安装
启动配置
调试代码

阅读提示

某些情况下得使用 Windows,记录一下在 Windows 上配置 Visual Studio CodeC/C++ 开发环境,使用 Clang+LLVM

警告

没有单独为 clang 单独配置,默认使用 clang++ 编译 C语言 源文件

必要的步骤

  1. 编译器的安装,示例选择的是 Clang+LLVM,可以在 Github 官方仓库 下载,选择需要的架构,这里下载 Windows x86_64clipboard-2025-11-05.png
  2. 下载好后解压到任意目录 (能用就行),进入bin目录,复制路径。image.png
  3. 进入系统环境变量编辑界面,在 Path 中添加复制的路径。 image.png

注意

由于 Clang 在 Windows 下缺少头文件,所以需要安装 MinGW-W64 补全,不然在 VS Code 中无法使用。如果使用 WSL 远程进行开发,可以跳过此步聚。

下载,解压,bin 目录添加到 Path 环境变量。

相关信息

在终端分别执行clang --versiongcc --version,若安装成功,可以看到类似提示:image.png

安装 VS Code

此处略过

VS Code 中的配置

  • [插件安装]
  • [启动配置]
  • [调试代码]

插件安装

clangdCodeLLDB

image.png

安装好 clangd 插件后,右下解会弹出未检测到语言服务器,安装即可。

image.png

注意

CodeLLDB 在某些网络环境中可能下载失败,建议使用代理进行下载安装,也可以下载好插件,通过 VSIX 进行安装,下载链接

启动配置

在工作区目录创建一个新目录.vscode.vscode 中创建两个文件 tasks.jsonlaunch.json 我的 tasks.json

json
{ "tasks": [ { "type": "shell", // task 类型,shell 表示是终端任务 "label": "C/C++: clang++ build active file", // task label "command": "clang++", // 执行的终端命令,可以换成绝对路径,因为配置了 Path,直接写命令也是可以的,但是如果有多个 clang++ 命令,会执行靠前的那个,建议替换绝对路径 "args": [ "-g", "${file}", // 当前窗口打开的文件,即源文件 "-target", "x86_64-pc-windows-gnu", //告诉编译器编译目标平台的信息,这里表示 x86_64,Windows 系统,GNU ABI "-o", "target/${fileBasenameNoExtension}.exe" // 目标文件,注意在 target 目录 ], "problemMatcher": ["$gcc"], // 解析错误输出时使用的模板 "group": { // 配置为 build 类型中的默认任务 "kind": "build", "isDefault": true }, } ], "version": "2.0.0" }

launch.json

json
{ "version": "0.2.0", "configurations": [ { "type": "lldb", // 类型,使用 CodeLLDB 进行调试运行 "request": "launch", "name": "Debug", "program": "${workspaceFolder}/target/${fileBasenameNoExtension}.exe", // 启动的程序,对应 task 中的目标文件 "args": [], // 启动参数,传递给 program "cwd": "${workspaceFolder}", // 当前工作目录 "preLaunchTask": "C/C++: clang++ build active file", // 启动前执行的任务,对应 tasks.json 中的 label,意为启动前执行此 label 对应的 task,目的是先进行编译生成程序。 } ] }

警告

如果要复制我的配置,请先在工作区目录创建新目录 target,用于存放生成的二进制文件。当然,你也可以适当修改。

调试代码

现在就可以编写 C++ 代码,正常调试运行。

提示

如果提示找不到头文件,原因是没有配置好 MinGW-W64。

本文作者:Maple

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!