如何解决 Cppcheck 中的问题 ID "toomanyconfigs"和"missingInclude:"

How to resolve the Issue ID "toomanyconfigs" and "missingInclude:" in Cppcheck

本文关键字:ID 问题 toomanyconfigs missingInclude 何解决 解决 Cppcheck      更新时间:2023-10-16

我正在Visual Studio 2008中使用MFC应用程序(大约2000个文件)。我为这个应用程序运行Cppcheck,但我发现了这两个问题。

Issue toomanyconfigs: (Information——检查文件将被中断,因为有太多的#ifdef配置。可以通过——force命令行选项或GUI首选项强制检查所有#ifdef配置。但这可能会增加检查时间。

Issue missingInclude: (Information—Cppcheck无法找到所有包含文件。Cppcheck可以检查没有包含文件的代码。但是如果找到所有的包含文件,结果可能会更准确。请检查项目的包含目录,并将它们添加为Cppcheck的包含目录。要查看Cppcheck找不到的文件,请使用——check-config。)

我的Cppcheck参数列表是cppcheck——quiet——verbose——check-config——force——enable=all——suppress= missinginclessystem——template=vs——std=c++11 $(ItemPath)

如何解决这些问题?

我是一个Cppcheck开发人员。

当你使用--force时,你会得到toomanyconfigs,这很奇怪。如果您可以创建重现问题的文件,请在我们的问题跟踪器中报告。你可以删除文件中的所有代码,只保留预处理器指令。

您可以使用-I指定include路径。

Cppcheck-1.76(下一个版本)将能够导入Visual Studio 2010和更高版本的解决方案文件,因此您可以自动获得includepaths。也许测试一下会很有趣。