本文详细讲解 Clangd 插件报错 includePath 的解决方法,涵盖电脑架构判断、MSYS2 安装 G++、环境变量配置及 VS Code 中 compile_flags.txt 的设置,附完整命令与参数说明。
引言
在 VS Code 中,很多开发者会遇到 Clangd 插件找不到 includePath 的问题。本文将详细介绍如何配置 Clangd,帮助大家彻底解决这一困扰。
前置准备
1. 判断电脑架构
首先需要判断电脑的架构,分为以下三类:
- Windows:打开设置,查看系统信息中是否包含 “arm” 字样。

- Linux:打开终端执行 uname -m,输出 x86_64 即为 x86_64 架构。
- macOS:点击左上角苹果菜单 → “关于本机” → “概况”,处理器显示为 Intel 则属于 x86_64 架构。
配置步骤
1. 下载 G++
这里推荐使用 MSYS2 进行下载,简单方便,下载网址。
根据电脑架构选择对应的安装包:如果是 arm 架构的电脑,选择第二个选项;否则选择第一个。
下载完成后,运行安装包,一路点击 “Next” 即可完成安装。
安装完成后,打开开始菜单,找到名为 “MSYS UCRT64” 的终端并打开,依次输入以下命令:
pacman -Syu
pacman -Su
运行完成后关闭终端。
之后重新开启 MSYS UCRT64 终端,输入以下指令:
pacman -S –needed base-devel mingw-w64-ucrt-x86_64-toolchain
一路都输入 y 确认,等待安装完成即可。
2. 配置环境变量
在开始菜单搜索"编辑系统环境变量"并打开。

选择"环境变量"。

双击 Path,在新界面中点击"新建",输入 MSYS UCRT64 安装目录再加上 \\bin:

将所有对话框的"确定"按钮全部点击完成即可。
验证
打开 cmd 终端,输入:
g++ –version
如果有输出类似以下内容:
g++ (Rev5, Built by MSYS2 project) 16.1.0
Copyright (C) 2026 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
则说明配置成功。
3. VS Code 配置
首先需要将之前可能配置错误的 clangd 配置删除,避免遗留错误。
新建一个文件 compile_flags.txt,在其中输入:
-std=c++14
–target=x86_64-w64-windows-gnu
-IC:/msys64/ucrt64/include
-IC:/msys64/ucrt64/x86_64-w64-mingw32/include
参数解释
- -std=c++14:指定 C++ 标准版本,可以根据需要修改,例如 std=c++17、std=c++26 等。
- –target=x86_64-w64-windows-gnu:指定使用 x86_64 架构下的 GNU 编译器。
- -IC:/msys64/ucrt64/include 和 -IC:/msys64/ucrt64/x86_64-w64-mingw32/include:指定头文件搜索路径。
完成以上配置后,重新打开 VS Code,可以发现 Clangd 插件不再乱报错了。
常见问题排查
1. g++ 命令提示"不是内部或外部命令"
问题现象:在 cmd 终端输入 g++ –version 时,提示 'g++' 不是内部或外部命令,也不是可运行的程序或批处理文件。
原因分析:环境变量未生效,系统无法在 Path 中找到 g++ 可执行文件。
解决步骤:
验证方法:若输出类似 g++ (Rev5, Built by MSYS2 project) 16.1.0 的内容,则说明环境变量配置成功。
2. 安装 MSYS2 后 pacman 命令报错
问题现象:在 MSYS UCRT64 终端输入 pacman -Syu 时,提示 error: failed to synchronize all databases 或 unable to lock database。
原因分析:常见原因包括网络连接不稳定、软件源不可达,或上一次更新未正常完成导致数据库被锁定。
解决步骤:
将 Server 行替换为可用的镜像地址,保存后重新执行 pacman -Syu。
验证方法:执行 pacman -Syu 能正常输出更新进度且无报错,即表示 pacman 工作正常。







