【问题标题】:How to show all warnings of C++ in Qt 4.8 Issues Tab?如何在 Qt 4.8 问题选项卡中显示 C++ 的所有警告?
【发布时间】:2018-08-09 11:58:59
【问题描述】:

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

  • 警告:非静态变量“X”没有先前的外部声明
  • 警告:使用老式演员表
  • 警告:将“int”添加到字符串不会追加到字符串

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

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

为什么不呈现它们,有什么方法可以呈现它们?

我尝试使用下面的标志,但没有一个达到我想要的效果:

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

我刚刚在 stackoverflow 问题中发现这里禁止显示警告。

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

【问题讨论】:

  • Qt 是一个软件框架。 Qt Creator 是 Qt 附带的编辑器 (IDE)。我很确定你的意思是 Qt Creator。由于 Qt Creator 只是一个应用程序,您可以在不更改您正在运行的 Qt 版本的情况下进行更新。较新的版本更擅长显示代码问题。

标签: c++ qt g++ gcc-warning


【解决方案1】:

您在编辑器内部看到的警告来自 Qt Creator 的 Clang 代码模型插件。 您可以尝试更改为使用 Clang 而不是 GCC/MSVC 进行编译,希望它在编译过程中也会给您同样的警告。

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


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

为此,请打开菜单栏中的“分析”菜单,然后选择“Clang-Tidy and Clazy...”

在出现的对话框中,选择您要分析的所有文件,并从最顶部的下拉列表中选择“自定义设置”,然后从第二个中选择“仅 Clang 检查几乎所有内容 [内置]”下拉。

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

准备就绪后,只需单击“分析”即可开始,然后等待全部完成。

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

【讨论】:

  • 现在的问题是我使用 Poky 编译 ARM 并且我没有 Clang,所以出现了几个错误而不是我期望的警告。
  • @msribeir 你可以做的是手动运行静态代码分析。只需转到菜单栏中的“分析”,然后选择“Clang-Tidy and Clazy”。然后在出现的对话框中按“分析”。这样,您将强制分析所有文件,结果将根据要求显示在“问题”窗格中。我会用这些信息更新我的答案。
猜你喜欢
  • 2013-02-10
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 2017-05-21
  • 1970-01-01
  • 1970-01-01
  • 2021-01-11
  • 1970-01-01
相关资源
最近更新 更多