Clangd在特殊平台上失效的问题
前言
Clangd相比cquery和ccls而言,clangd的开发体验好上太多,是目前vscode中最优秀的代码索引工具。由于我目前是嵌入式开发居多,经常会和各种各样的交叉编译器打交道
问题
在配置好了沁恒的clangd之后,会发现不起作用,这是因为使用交叉编译器(clangd或者llvm)时,一般会需要指定cpu target,在riscv gcc中的编译选项为-march=rv32ec_zicsr
,所以只需要修正这个方案就好了
解决方案
修改clangd的编译选项,首先先在更目录下新建一个.clangd
文件,然后输入一下内容CompileFlags:
Remove: -march=rv32ec_zicsr
Add: [-I/root/sdk/bin/xpack-riscv-gcc-13/riscv-none-elf/include]