如何为C++ Bazel项目生成compile_commands.json文件

27
2个回答

19

额外信息:

  • Bear 目前不支持 Bazel: 这个问题
  • 有关 compile_command.json 的良好文档可以在这里找到。

建议解决方案:

在 Google 搜索后,我发现了gist:使用Bazel生成compile_commands.json文件的基础知识

它很好用,我写了一个带有bash脚本的自动化解决方案 <- 我的解决方案

替代方案:

还可以在 GitHub 上找到:


5
为了补充其他答案所列出的备选方案... Hedron's Compile Commands Extractor for Bazel (GitHub) 刚刚发布,我认为它可以满足您的需求。从 README 中可以看出,它的目标是“为 Bazel 用户提供跨平台的 (Objective-)C(++) 自动补全功能,以使开发更高效、更有趣[...] 并将 Bazel 的构建操作导出到 compile_commands.json 格式中,从而实现与 Bazel 脱耦的强大工具。” 免责声明:我在制造公司工作,该公司制造了 hedronvision/bazel-compile-commands-extractor... 但我每天都在使用它,并且在我个人的观点中它非常好!

1
如果有一个示例项目的话,那就太好了。我很难让它在compile_commands.json中填充除[]之外的任何内容。谢谢! - Dominic
据我所知,目前没有示例项目,但 README 中有一个(新的?)章节,介绍如何在现有项目中设置该工具。如果仍然无法使用,请在存储库中提交问题,因为作者/维护者非常乐于帮助新用户。 - Sam -Hedron Vision-
1
是的,谢谢。作者非常友好和乐于助人,我已经让它工作了。 - Dominic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接