【发布时间】:2017-01-20 04:09:27
【问题描述】:
这里是 clang 和 clang-tidy 的新手。
我有一个具有这种结构的项目:
project/
- build/
- cmake/
- component1/
- src/
- someFile.cpp
- someFile2.cpp
- someFile.hpp
- someFile2.hpp
- component2/
- etc...
-
当我使用 clang-tidy 通过以下命令浏览 project/component1/ 中的所有文件时:clang-tidy project/component1/src/* -checks=-*,clang-analyzer-*,-clang-analyzer-alpha*
它最终会抛出这样的错误:
$HOME/project/component1/src/someFile.cpp:18:10: error: 'project/component1/someFile.hpp' file not found [clang-diagnostic-error]
\#include "component1/someFile.hpp"
【问题讨论】:
-
会不会是不在同一个层级('someFile.hpp'不在/src)?
-
@Grif-fin 我已经想到了,但我不允许弄乱文件结构。是否有我可以设置的命令选项让它知道 *.hpp 文件在哪里?每个选项的描述并不总是足以让我了解正在发生的事情。 *:-/
-
我刚刚尝试在
project/component1/目录上运行 clang-tidy 命令,但我遇到了同样的错误或src/下的那些文件。 -
您可以尝试使用标志 --header-filter=
或使用 '../' 在 cpp 中包含 hpp 文件。例如#include "../someFile.hpp"。不推荐后一种选择。
标签: c++ clang clang-tidy