在Windows上的VS Code中使用Clang,并使用lldb进行调试

目录

  1. 1. 安装Clang
  2. 2. 配置VS Code

安装Clang

前置条件:用mingw的安装器下载mingw的gcc和g++的软件包。

官网上标注的llvm仓库下载基于mingw的Clang的文件。选择最新的release版本,找到和你电脑对应的架构和系统下载。

我的电脑是 Win10 x64版本,这里选择了 llvm-mingw-日期-msvcrt-x86_64.zip这个包。下载完成后,打开这个压缩包,将其解压到某个好记的位置上。我解压到了 C:\clang目录下。

到这里,如果不需要在命令行或PowerShell中直接调用 clang,那么就这步就算完成了。如果有对应需要的话,就去添加一下对应的 PATH 变量。

配置VS Code

创建一个文件夹,作为我们要在之后编写C++代码的储存库。在这个文件夹中再创建 .vs文件夹。

在这个文件夹下创建

三个文件,分别命名为

  • launch.json
  • tasks.json
  • c_cpp_properties.json

这里提供一份样例配置供参考

launch.json
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "clang++ - 生成和调试活动文件",
            "type": "lldb",
            "request": "launch",
            "program": "${fileDirname}/exec/${fileBasenameNoExtension}.exe",
            "args": [],
            "cwd": "${fileDirname}/exec/",
            "preLaunchTask": "C/C++: clang++ 生成活动文件",
        }
    ]
}
task.json
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: clang++ 生成活动文件",
            "command": "C:/clang/bin/clang++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/exec/${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}
c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "C:/clang/include",
                "C:/clang/include/c++/v1",
                "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
                "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/parallel",
                "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32"
            ],
            "defines": [],
            "compilerPath": "C:/clang/bin/clang.exe",
            "cStandard": "c23",
            "cppStandard": "c++23",
            "intelliSenseMode": "windows-clang-x64",
            "configurationProvider": "ms-vscode.makefile-tools"
        }
    ],
    "version": 4
}

注:如果直接套用这三个配置文件,那么还需要在最开始创建的文件夹下新建名为 exec的文件夹,用来存放编译后的可执行文件。

添加完这三个文件后,用VS Code打开此文件夹下的 cpp文件,按下 F5就可以编译并运行了。