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

标签 c++ c++11 mfc cppcheck

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

问题toomanyconfigs:(信息——由于#ifdef 配置过多,文件检查将被中断。可以通过--force 强制检查所有#ifdef 配置命令行选项或来自 GUI 首选项。但是这可能会增加检查时间。)

问题 missingInclude:(信息——Cppcheck 无法找到所有的包含文件。Cppcheck 可以在没有找到包含文件的情况下检查代码。但如果所有的包含文件已找到。请检查您的项目的包含目录并将它们全部添加为 Cppcheck 的包含目录。要查看 Cppcheck 找不到哪些文件,请使用 --check-config。)

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

我该如何解决这些问题?

最佳答案

我是 Cppcheck 开发人员。

使用--force 时得到toomanyconfigs 很奇怪。如果您可以创建重现该问题的文件,请在 our issue tracker 中报告.您或许可以删除文件中的所有代码,只保留预处理器指令。

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

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

关于c++ - 如何解决 Cppcheck 中的问题 ID "toomanyconfigs"和 "missingInclude:",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39093300/

相关文章:

c++ - MFC ComboBox DrawItem 问题

c++ - 为什么这个 C++ 程序会出现段错误?

c++ - 使用指针

c++ - 如何为二维数组编写访问器(私有(private)成员)

c++ - Visual Studio 多字节字符到单字节

c++ - 如何使用 XML 文件中的数据填充 MFC 中的列表框?

c++ - std::experimental::filesystem::recursive_directory_iterator 跳过文件夹及其子文件夹

c++ - 如何正确推断模板的返回类型?

c++ - 枚举(类)允许的类型是什么?

c++ - 将 std::map 写入/读取到二进制文件需要运算符