如何生成compile_commands.json
Compilation Database
简单来说,Compilation Database
就是编译整个项目所需要的编译信息集合,包括文件名、要传递给编译器的所有标志、其他参数以及调用编译器的目录(这会影响相对路径)。
Compilation Database
通常被序列化为JSON
文件,发展自Clang
的工具世界。
现在它已成为不同工具之间互操作的重要机制。工具需要的是知道应该如何去编译
,而不是编译
这个动作本身。
Compilation Database
JSON文件可以由越来越多的构建系统和其他工具生成。
JSON文件生成
CMakeLists项目
使用cmake
提供的参数CMAKE_EXPORT_COMPILE_COMMANDS
Makefile项目
需要安装一个可以从Makefile
生成Compilation Database
JSON文件的工具。
推荐使用python
编写的工具compiledb
。
安装compiledb
下面这个命令有可能需要sudo
权限:
1 | $ pip install compiledb |
然后查看使用方式:
1 | $ compiledb -h |
例如,在项目根目录下,生成JSON文件,但不编译项目:
1 | $ compiledb -n make |
- 本文链接:http://katherineleeyq.cn/2019/03/20/如何生成compile-commands-json/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!