compdb/compile_commands.json的生成
Compiledb-ninja ← 最简单的方法(此方式不支持Kernel仓库)
https://github.com/schspa/compiledb-ninja
可参照页面说明生成。(可参考vim配置lsp)
如果遇到python模块缺失(如click),可使用以下命令安装:
pip install --user click
注:可以将compiledb-ninja.py链接到PATH包含的路径中,这样就可以直接用compiledb-ninja这个命令来生成了。)
Bear ← 推荐此方法
目前使用Bear生成compdb推荐使用hook ninja的办法:
将原版ninja改名(例如改为ninja-o) 然后创建一个名为ninja的脚本,该脚本内容主要为(以bear可执行文件放在 $HOME/.local/bin/ 目录中为例):
#!/bin/bash
exec "$HOME/.local/bin/bear" "-a" "prebuilts/build-tools/linux-x86/bin/ninja-o" $@
(注:某些编译系统中可能会屏蔽诸如HOME的环境变量,导致编译出先问题,提示找不到/.local/bin/bear,此时请修改bear可执行文件的实际路径)
然后正常编译即可。
|