在make前添加如下命令,生成compile_commands.json
bear --append --
使用clangd解析compile_commands.json失败,报错如下:
Indexing /root/Workspaces/rk3399/kernel-rockchip/lib/seq_buf.c failed: Couldn't build compiler instance
I[07:45:52.645] --> $/progress
E[07:45:52.650] Indexing /root/Workspaces/rk3399/kernel-rockchip/drivers/iommu/io-pgtable-arm.c failed: Couldn't build compiler instance
I[07:45:52.650] --> $/progress
E[07:45:52.652] Indexing /root/Workspaces/rk3399/kernel-rockchip/lib/math/rational.c failed: Couldn't build compiler instance
I[07:45:52.652] --> $/progress
E[07:45:52.654] Indexing /root/Workspaces/rk3399/kernel-rockchip/net/xfrm/xfrm_device.c failed: Couldn't build compiler instance
I[07:45:52.654] --> $/progress
E[07:45:52.654] Indexing /root/Workspaces/rk3399/kernel-rockchip/drivers/rknpu/rknpu_drv.c failed: Couldn't build compiler instance
I[07:45:52.654] --> $/progress
E[07:45:52.654] Indexing /root/Workspaces/rk3399/kernel-rockchip/block/blk-crypto.c failed: Couldn't build compiler instance
I[07:45:52.654] --> $/progress
E[07:45:52.654] Indexing /root/Workspaces/rk3399/kernel-rockchip/drivers/media/rc/keymaps/rc-tanix-tx3mini.c failed: Couldn't build compiler instance
I[07:45:52.654] --> $/progress
E[07:45:52.654] Indexing /root/Workspaces/rk3399/kernel-rockchip/drivers/pci/pcie/aspm.c failed: Couldn't build compiler instance
I[07:45:52.654] --> $/progress
I[07:45:54.382] <-- textDocument/codeAction(9)
I[07:45:54.383] --> reply:textDocument/codeAction(9) 0 ms, error: invalid AST
I[07:45:54.383] --> textDocument/clangd.fileStatus
[Error - 7:45:54 AM] Request textDocument/codeAction failed.
[object Object]
I[07:45:55.368] <-- textDocument/definition(10)
I[07:45:55.368] --> reply:textDocument/definition(10) 0 ms, error: invalid AST
I[07:45:55.368] --> textDocument/clangd.fileStatus
[Error - 7:45:55 AM] Request textDocument/definition failed.
在编译目录创建.clangd文件,内容如下:
CompileFlags:
Remove: -mabi=lp64
重启clangd服务
解析成功
关注博主公众号,优质文章不断更新