c++ - Clang-tidy 找不到头文件
问题描述
注意:这是在 RHEL 7.2 中使用 clang 8.0.1 完成的。
我正在运行命令
clang-tidy test.C -- -I/path/to/header.h
我收到以下错误:
1 error generated.
Error while processing test.C.
test.C:28:10: error: 'header.h' file not found [clang-diagnostic-error]
#include "header.h"
^
Found compiler error(s).
当我使用 g++ 构建时,它工作正常。上面的 include 是文件的第一个 include 语句,后面还有一些。文件结构复杂,因此很难显示文件的位置。我认为 -I 参数会找到标题,但事实并非如此。那么,我如何才能找到那些头文件呢?
解决方案
Clang 工具通常需要一个编译数据库:compile_commands.json
. 它提供了构建 cpp 单元所需的信息(ge 包含目录)。
您可以使用一些外部工具从 Make、CMake 等生成此文件。
推荐阅读
- terraform - 实例调度程序创建在 N.Virginia 以外的任何区域均失败
- c# - 在返回客户端 ASP.NET Core 之前获取用户角色
- sap-erp - SAP GUI 滚动条卡住
- android - 使用 Webhook 作为 API 请求的触发器 - Aries Cloud Agent 和 Android
- firebase - 读取 FirebaseFirestore 集合项并将它们保存到列表
- ios - 用渐变颜色绘制动画圆角矩形线
- python - 制作假期倒计时不和谐机器人,我只想显示打印代码的日期
- typescript - 使用 Typescript 和 NextJS 初始化 web worker
- objective-c - 在whatsapp状态目标c上共享时模糊视频
- regex - Regular expression for laravel username and #tags