rizsotto/Bear
GitHub: rizsotto/Bear
Bear 是一个通用的编译数据库生成工具,通过拦截构建过程中的编译器调用,为任意构建系统生成 clang 工具链所需的 compile_commands.json 文件。
Stars: 6214 | Forks: 357
[](https://repology.org/project/bear-clang/versions)
[](https://github.com/rizsotto/Bear/releases)
[](https://github.com/rizsotto/Bear/releases)
[](https://github.com/rizsotto/Bear/actions)
[](https://github.com/rizsotto/Bear/graphs/contributors)
[](https://gitter.im/rizsotto/Bear)
# ʕ·ᴥ·ʔ 构建 EAR
Bear 是一个用于为 clang tooling 生成编译数据库的工具。
[JSON 编译数据库][JSONCDB] 在 clang 项目中用于提供有关如何处理单个编译单元的信息。借助此信息,可以轻松地使用其他程序重新运行编译。
某些构建系统原生支持生成 JSON 编译数据库。对于不使用此类构建工具的项目,Bear 会在构建过程中生成该 JSON 文件。
## 如何安装
Bear 已针对许多发行版进行了[打包](https://repology.org/project/bear-clang/versions)。请检查您发行版的包管理器。或者,您也可以从源代码[构建它](INSTALL.md)。
## 如何使用
安装完成后,按如下方式使用:
```
bear --
```
输出文件 `compile_commands.json` 将保存在当前目录中。有关更多选项,您可以查看 man 手册页或传递 `--help` 参数。
请注意,如果您想向 Bear 传递参数,请将其放在 `--` 之前;之后的所有内容都将被视为构建命令的一部分。
请注意,某些包管理器仍然发布 2.4.x 版本。在这种情况下,请省略额外的 `--` 或查阅您本地的文档。
欲了解更多信息,请阅读 man 手册页或项目 [wiki][WIKI],其中介绍了限制、已知问题和特定平台的用法。
## 问题报告
在提交新问题报告之前,请查阅 [wiki][WIKI] 以确认您的问题是否为已有文档记录解决方法的已知问题。在提交新问题之前,查看较旧的(可能已关闭的)[issues][ISSUES] 也会有所帮助。
如果您决定报告问题,请提供尽可能多的上下文信息以帮助复现错误。如果您只是对使用方法有疑问,请不要害羞;请在 issue 或我们的 [聊天室][CHAT] 中提问。
如果您发现了一个 bug 并且有修复方案,请通过提交 pull request 来分享它。
操作时请遵循[贡献指南][GUIDE]。
标签:C/C++, Clang, compile_commands.json, Homebrew安装, LLVM, Rust, SOC Prime, UML, 事务性I/O, 云安全监控, 代码分析, 代码嗅探, 凭证管理, 可视化界面, 开发工具, 拦截构建, 数据管道, 编译器, 编译数据库, 网络流量审计, 自动化构建, 软件工程, 通知系统, 通知系统, 通知系统, 静态分析