簡體   English   中英

clang-tidy 報告未知警告

[英]clang-tidy reporting unknown warnings

我有一個使用 GCC 的 CMake 構建。 我生成了 compile_commands.json 然后運行了 clang-tidy 但我得到了數百個:

error: unknown warning option '-Wno-maybe-uninitialized'; did you mean '-Wno-uninitialized'? [clang-diagnostic-unknown-warning-option]
error: unknown warning option '-Wno-psabi' [clang-diagnostic-unknown-warning-option]

如何禁用或刪除這些警告? 我看到了clang++ 警告:“警告:未知警告選項 '-Wno-maybe-uninitialized'”但添加“-Wno-unknown-warning-option”給了我一個錯誤:

run-clang-tidy-3.8.py: error: unrecognized arguments: -Wno-unknown-warning-option

嘗試將-extra-arg=-Wno-unknown-warning-option附加到 clang-tidy 命令行。

使用-extra-arg=要求 clang-tidy 將-Wno-unknown-warning-option傳遞給底層 clang。 否則,它會嘗試將其解釋為一個清晰的標志。

編輯:

run-clang-tidy.py腳本從 5.0 版開始支持run-clang-tidy.py -extra-arg 在以前的版本中,您需要編輯腳本並手動添加-extra-arg

如果您使用的是 Ubuntu 16.04,則可以從以下位置獲取clang-tidy-5.0
https://www.ubuntuupdates.org/package/xorg-edgers/xenial/main/base/clang-tidy-5.0

對我來說,

set(CMAKE_CXX_CLANG_TIDY "clang-tidy-8;--extra-arg=-Wno-error=unknown-warning-option")

從 CMake 中運行 clang-tidy 時解決了這個問題。

當我使用 GCC 生成 compile_commands.json 時,我遇到了同樣的問題。 當我使用 Clang 時,一切都很好。 似乎 clang-tidy/run_clang_tidy.py 在處理由不同於 Clang 的編譯器生成的 compile_commands.json 時存在問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM