Sullivan's BLOG

琐碎,定格,在南方

Clangd在特殊平台上失效的问题

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]