1.生成compile_commands.json文件
compile_commands.json 文件能够有效提高一些工具(比如说ccls1, vscode2)的代码跳转、补全等功能。因此,本文将会说明如何生成 compile_commands.json 文件,特别是使用 makefile 的老工程。
cmake工程
cmake工程生成 compile_commands.json 文件比较简单,定义 CMAKE_EXPORT_COMPILE_COMMANDS 即可。
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1
makefile工程
不过很多(旧的)工程都是用 makefile 来编译的,没有现成的选项生成 compile_commands.json 文件。
虽然也可以使用 ctags, gtags 等,但是跳转其实不是很准确。
我们可以通过 Bear 来生成,而且不需要改动代码。
具体Bear的安装这里就不赘述了,按照 官方文档 来即可。
安装之后,执行以下命令即可生成:
- bear 编译命令
- # 比如说 bear make
也就是在原有编译命令之前加上 bear 即可,一般都是 bear make 。
生成之后我们就可以愉快地享受更精准的跳转和补全了。