使用clang-tidy静态分析器,我可以在项目根目录下保留一个文件(
据我所知,
.clang-tidy
),其中包含我想要激活或关闭的警告信息。据我所知,
clang-tidy
会查找该文件并使用在其中定义的选项。这样可以避免在CMake或Makefiles中硬编码冗长的命令行。
是否有可能使用cppcheck静态分析器做到同样的效果?
目前,我已经将这个非常长的命令行硬编码了。cppcheck --max-ctu-depth=3 --enable=all --inline-suppr --suppress=*:*thrust/complex* --suppress=missingInclude --suppress=syntaxError --suppress=unmatchedSuppression --suppress=preprocessorErrorDirective --language=c++ --std=c++14 --error-exitcode=666
这是我在一个工程的根目录下保存的 .clang-tidy
配置文件的示例:
---
Checks: '
*,
-readability-magic-numbers,
-modernize-use-nodiscard,
-altera-struct-pack-align,
-cert-err58-cpp,
-cppcoreguidelines-avoid-non-const-global-variables,
-cppcoreguidelines-macro-usage,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay,
-cppcoreguidelines-pro-type-vararg,
-cppcoreguidelines-avoid-magic-numbers,
-fuchsia-default-arguments-calls,
-fuchsia-trailing-return,
-fuchsia-statically-constructed-objects,
-fuchsia-overloaded-operator,
-hicpp-vararg,
-hicpp-no-array-decay,
-llvm-header-guard,
-llvmlibc-restrict-system-libc-headers,
-llvmlibc-implementation-in-namespace,
-llvmlibc-callee-namespace
'
WarningsAsErrors: '*'
HeaderFilterRegex: '.'
AnalyzeTemporaryDtors: false
FormatStyle: file
...
cppcheck --enable=all --suppress=missingIncludeSystem --inline-suppr --std=c++17 --check-config --error-exitcode=1
。如果能知道如何将它们放入XML或文本配置文件中就太好了。到目前为止,我无法将任何这些选项放入配置文件中,它们都被忽略了。 - alfC