用.clangd
试试呢 :
在项目根目录新建一个 .clangd
文件, 在里面设置clangd的编译参数:
CompileFlags:
Add: [
"-IC:/Software/Keil_v5/ARM/ARMCC/include",
"-IC:/Software/Keil_v5/ARM/ARMCC/include/rw",
"-DUSE_STDPERIPH_DRIVER",
"-DSTM32F10X_HD",
]
我没有使用 CMake, 就简单在 EIDE项目 - 项目属性 - 包含目录
里添加了包含头文件的路径. 编译项目后生成compile_commands.json
, 然后 clangd 就正常了, 偶尔有些无所谓的错误提示(其实不是错误), 可以在 .clangd
文件开头屏蔽这些错误:
Diagnostics:
Suppress:
[
-Wimplicit-function-declaration,
invalid_token_after_toplevel_declarator,
]