生成 `compile_commands.json`
工具作用CLion编写、调试、生成图形化浏览代码依赖,快速理解代码结构。
是的,CLion + CMake 可以生成 compile_commands.json 文件,这是许多工具(包括 Sourcetrail、clangd、VSCode 等)用于了解项目编译细节的重要文件。
✅ 如何在 CLion 中生成 compile_commands.json
CLion 从 2020.1 版本开始已经原生支持生成 compile_commands.json,你只需要简单配置一下即可。
🔧 方法一:通过 CLion 设置生成 compile_commands.json
-
打开 CLion。
-
进入菜单:
File→Settings(或CLion→Preferenceson macOS)→Advanced Settings→CMake -
找到选项:
[✓] Generate compilation database✅ 勾选它
-
CLion 会在每次 CMake 配置时自动生成或更新
compile_commands.json。
📁 生成的位置一般是:
<project_root>/cmake-build-debug/compile_commands.json
或者根据你的 build 目录,比如:
<project_root>/cmake-build-release/compile_commands.json
🔁 方法二:手动生成(命令行)
如果你是用命令行编译 CMake 项目,也可以加上以下参数生成:
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -B build
这将在 build/ 目录下生成 compile_commands.json。
📎 提示:将 compile_commands.json 移动到项目根目录(可选)
有些工具要求它在项目根目录:
cp cmake-build-debug/compile_commands.json .
或者使用 symlink(推荐):
ln -s cmake-build-debug/compile_commands.json .
💡 用途:Sourcetrail 使用 compile_commands.json
你可以在 Sourcetrail 中选择:
- Language: C++
- Input type:
Compilation Database - 然后选择你的
compile_commands.json路径
你想知道 CLion 如何配合 Sourcetrail 使用,对吧?我给你梳理个简单实用的方案,帮助你用 CLion + Sourcetrail 来高效浏览和理解代码。
🛠️ CLion 和 Sourcetrail 配合使用的步骤
1. 生成 compile_commands.json 文件(CLion 生成)
Sourcetrail 依赖 compile_commands.json 来分析 C/C++ 项目。
-
CLion 自动生成:
- 进入
File→Settings(或 macOSCLion→Preferences)→Build, Execution, Deployment→CMake - 找到并勾选 “Generate compilation database”
- 重新构建项目,
compile_commands.json会生成在你的 build 目录中(如cmake-build-debug/)
- 进入
2. 打开 Sourcetrail 并导入项目
- 启动 Sourcetrail
- 选择 New Project
- 语言选择
C++ - 选择项目根目录
- 选择输入类型为 Compilation Database
- 选择刚才 CLion 生成的
compile_commands.json文件路径(例如:cmake-build-debug/compile_commands.json) - 点击开始索引(Index)
3. 在 Sourcetrail 中设置用 CLion 打开代码
-
Sourcetrail 菜单中,选择
Edit→Preferences -
在
Editor里,将编辑器命令设置为:clion --line %l %f这里
%f是文件路径,%l是行号,Sourcetrail 会根据点击的符号打开对应文件和行号。 -
确保你的系统能在终端通过
clion命令打开 CLion(CLion 里可以通过Tools→Create Command-line Launcher来创建这个命令)。
4. 开始用 Sourcetrail 浏览代码,遇到不懂的地方,点击符号就用 CLion 打开对应代码文件,直接跳转。
📝 总结
| 工具 | 作用 |
|---|---|
| CLion | 编写、调试、生成 compile_commands.json |
| Sourcetrail | 图形化浏览代码依赖,快速理解代码结构 |
更多推荐



所有评论(0)