C/C++工程生成编译数据库文件compile
•
数据库
文章目录
-
- 1. 目的
- 2. 适用于 CMake 的方法
-
- 方法1:在工程根目录的 CMakeLists.txt 中开头处增加
- 方法2:调用 cmake 时, 传入参数
- 方法3:定义环境变量
- 3. 适用于 Makefile 的方法
1. 目的
Clang 系列的工具(例如 LSP 服务端 clangd)需要读取编译数据库文件 compile_commands.json, 里面以 json 格式给出了具体的编译的命令, 包括编译器路径、文件、编译选项、宏定义等。每个被编译的 .c 和 .cpp 文件分别对应一条完整的编译命令。Clang 系列工具根据这个命令, 可以给出准确的代码补全。
2. 适用于 CMake 的方法
方法1:在工程根目录的 CMakeLists.txt 中开头处增加
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
方法2:调用 cmake 时, 传入参数
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON 参数
方法3:定义环境变量
在当前 shell 中输入, 或直接编辑 ~/.bashrc
export CMAKE_EXPORT_COMPILE_COMMANDS=1
3. 适用于 Makefile 的方法
需要安装 bear 这一工具
sudo apt install bear
在工程目录下,原本的 make 命令前, 增加 bear –, 就可以生成 compile_commands.json 了:
bear -- make
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/5c7c65ca07.html
