如何抑制 IWYU 系统标头错误?

Posted

技术标签:

【中文标题】如何抑制 IWYU 系统标头错误?【英文标题】:How to suppress IWYU system header errors? 【发布时间】:2018-05-18 13:29:13 【问题描述】:

启用 IWYU 进行构建时,我收到许多关于缺少成员和未声明标识符的错误,例如: '/Library/Developer/CommandLineTools/usr/include/c++/v1/cstdint:153:8:错误:全局命名空间中没有名为“int8_t”的成员 使用::int8_t;'

我从:https://include-what-you-use.org/downloads/ 构建和安装了 IWYU 使用:-DIWYU_LLVM_ROOT_PATH=/usr/local/opt/llvm

请您建议我做错了什么导致这些错误? 如果做不到这一点,我该如何抑制这些(错误?)错误?

使用 C++17 编程。 使用基于 clang 版本 6.0.0 的 include-what-you-use 0.10。 使用 clang 6.0.0 编译。 使用 cmake 3.11.1 构建。 Mac OS High Sierra 版本 10.13.4。

【问题讨论】:

【参考方案1】:

看来我指向了错误的 llvm 路径。当我使用自制软件安装的 clang 版本时,设置路径应该是: -DIWYU_LLVM_ROOT_PATH=/usr/local/Cellar/llvm/6.0.0/

【讨论】:

以上是关于如何抑制 IWYU 系统标头错误?的主要内容,如果未能解决你的问题,请参考以下文章

.Net:如何抑制 TraceSource 标头(“SourceName TraceEventType:Id:”)?

如何抑制 X-Frame-Options SAMEORIGIN 响应标头?

如何抑制某些文件的 Intellisense 错误?

如何抑制 shell 脚本错误消息?

如何将“拉函数错误”消息抑制到标准输出?

如何抑制错误:混合空格和制表符?