如何抑制 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:”)?