如何在 Qt 4.8 Issues Tab 中显示 C++ 的所有警告?

How to show all warnings of C++ in Qt 4.8 Issues Tab?

在我的 Qt 应用程序中,当我打开一些 CPP 文件时,在某些文件中我看到了如下所述的警告:

还有很多我不需要描述的。

我真正想要的是在执行应用程序编译时在 Qt 问题选项卡中显示所有这些错误/警报,但这并没有发生。

为什么不显示它们,有什么方法可以显示它们?

我尝试使用下面的标志,但 none 达到了我想要的效果:

CONFIG += warn_on
CONFIG += exceptions

QMAKE_CFLAGS_WARN_ON = -w -Wall -Wextra
QMAKE_CXXFLAGS_WARN_ON = -w -Wall -Wextra

CFLAGS += -Wall
CXXFLAGS += -Wall

QMAKE_LFLAGS += thread
QMAKE_LFLAGS += exceptions

我刚刚在 Whosebug 问题中找到这里来抑制警告。

这将使提高软件质量变得更加容易,因为我正在使用的软件是遗留的,除非我逐个文件打开,否则我看不到这些警告。

您在编辑器看到的警告来自 Qt Creator 的 Clang 代码模型插件。 您可以尝试更改为使用 Clang 而不是 GCC/MSVC 进行编译,它应该有望在编译期间也给您相同的警告。

有关添加编译器的详细信息,请参阅 this 帮助页面。


编辑:您还可以触发手动分析,这将在 "Issues" 窗格中显示代码问题。

为此,打开菜单栏中的 "Analyze" 菜单,然后 select "Clang-Tidy and Clazy..."

在出现的对话框中,select 您要分析的所有文件,还有最上方下拉列表中的 select "Custom Settings",然后是 "Clang-only checks for almost everything [built-in]" 来自第二个下拉。

该选项等同于 Clang 代码模型插件的默认选项,并且应该使分析输出显示与内联注释相同的问题。

准备就绪后,只需单击 "Analyze" 即可开始,然后等待全部完成。

有关如何从 Qt Creator 运行 和配置静态代码分析的更多详细信息,请参阅 this 页面。