相关疑难解决方法(0)

在 Cmake 中为 clang-tidy 提供标题过滤器的正确方法是什么?

我有项目将 Clang-tidy 配置设置如下

set(CMAKE_CXX_CLANG_TIDY "clang-tidy;-checks=google-*,cppcoreguidelines-*;")
Run Code Online (Sandbox Code Playgroud)

但是,我注意到它正在检查甚至不在当前存储库中的所有文件,例如

/opt/ros/melodic/include/ros/console.h
Run Code Online (Sandbox Code Playgroud)

以及子模块的所有 .h/.hpp 文件...

我试图添加一个正则表达式来过滤目标 .h 文件,但无法让它工作......我已经为单个 .hpp 文件提供了绝对路径,但它仍在评估/opt/ros/melodic/include文件......

我可以举一个关于标题过滤器的例子吗??

如果 hpp 在过滤器中,我假设 clang-tidy 将检查相应的 cpp 文件。我对么?

c++ cmake clang clang-tidy

9
推荐指数
1
解决办法
3174
查看次数

从 clang-tidy 中排除特定标题

我有几个项目,我想解析很多标题,但有几个标题我不想用 clang-tidy 解析

我的文件夹层次结构如下

一种\

    B\

        C\
           coco.h
        D\
    E\
Run Code Online (Sandbox Code Playgroud)

我的项目在 C 和 D 文件夹中,我希望它们解析 B 下的所有标题,所以我的解决方案是 HeaderFilterRegex: 'B/*' 我想包含很多标题,所以我无法命名每个标题。

但是在 C 和 D 文件夹中有几个我想排除的标题(例如 coco.h)。

我尝试将 NO_LINT 放在包含 coco.h 的 cpp 中,但没有帮助,

我怎样才能做到这一点?

谢谢

clang-tidy

7
推荐指数
2
解决办法
5615
查看次数

在 clang-tidy 配置中没有等效的“-line-filter”?

我想-line-filter=.clang-tidy文件中配置我的参数,而不是在生成命令的 cmake 源文件中。向LineFilter文件添加密钥只会让我出现“未知密钥”错误。这真的不通过配置文件支持吗?有其他选择吗?

clang-tidy

7
推荐指数
1
解决办法
264
查看次数

Clang-Tidy 缓慢且具有依赖关系

我正在使用 clang-tidy 来检查我的代码库,但整个过程非常慢。有没有办法完全忽略头文件而不仅仅是抑制警告?正如您在这个示例中看到的,大量警告来自我的项目依赖项:

Suppressed 72958 warnings (72958 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
Run Code Online (Sandbox Code Playgroud)

c++ lint clang clang-static-analyzer clang-tidy

6
推荐指数
1
解决办法
1125
查看次数

POSIX正则表达式:排除表达式中的单词?

我正在尝试使用POSIX(扩展)正则表达式创建一个正则表达式,我可以在我的C程序代码中使用它.

具体来说,我想出了以下内容,但是,我想在匹配的表达式中排除"http"这个词.经过一些搜索,看起来POSIX并不像捕获特定字符串那样明显.我在下面的例子中使用了一个叫做"负面看起来"的东西(即(?!http :)).但是,我担心这可能只是POSIX以外的方言中定义的正则表达式可用的东西.是否允许否定前瞻?POSIX中是否允许使用逻辑NOT运算符(即!)?

工作正则表达式示例:

href|HREF|src[[:space:]]=[[:space:]]\"(?!http:)[^\"]+\"[/]

如果我不能像其他方言那样使用负面预测,我可以对上面的正则表达式做什么来过滤掉特定的单词"http:"?理想情况下,有没有任何方法没有逆逻辑,并最终在过程中创建一个荒谬的长正则表达式?(我上面的那个已经很久了,如果可能的话我宁愿看起来不那么混乱)

[注意:我已经在Stack Overflow中查阅了其他相关的主题,但最相关的主题似乎只是"一般地"提出这个问题,这意味着给出的答案并不一定意味着它们在另一个或两个主题中是POSIX风格的==> ,我已经看到了上面的 (?!insertWordToExcludeHere) 负面预测,但我担心它只适用于PHP.)

[注2:我将采取任何POSIX正则表达式措辞,任何帮助将不胜感激.有没有人建议过滤掉"http:"的正则表达式是什么样的,以及它如何适合我当前的正则表达式,取代(?!http :)?]

regex negative-lookahead regex-negation posix-ere

5
推荐指数
1
解决办法
8995
查看次数

lang格式正则表达式语法参考

我希望clang格式不修改用于分隔功能的注释行。我认为这commentPragmas是正确的选择,但我找不到有关clang格式正则表达式格式的信息。

我试图commentPragmas: '^/\*-.*'捕获看起来像这样的分隔线

/*------------------------------------------------------------------*/

但是上述正则表达式无法正常工作...在哪里可以找到用于clang格式的正则表达式的语法?

regex clang-format

4
推荐指数
1
解决办法
779
查看次数