c++ - 如何在 Qt 4.8 问题选项卡中显示 C++ 的所有警告?
问题描述
在我在 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 Creator 的 Clang 代码模型插件。您可以尝试更改为使用 Clang 而不是 GCC/MSVC 进行编译,希望它在编译过程中也会给您同样的警告。
有关添加编译器的更多信息,请参阅此帮助页面。
编辑:您还可以触发手动分析,这将在“问题”窗格中显示代码问题。
为此,请打开菜单栏中的“分析”菜单,然后选择“Clang-Tidy and Clazy...”
在出现的对话框中,选择您要分析的所有文件,并从最顶部的下拉菜单中选择“自定义设置”,然后从第二个下拉菜单中选择“仅 Clang 检查几乎所有内容 [内置]”。
该选项等效于 Clang 代码模型插件的默认选项,并且应该使分析输出显示与内联注释相同的问题。
准备好后,只需单击“分析”即可开始,然后等待全部完成。
有关如何从 Qt Creator 运行和配置静态代码分析的更多详细信息,请参阅此页面。
推荐阅读
- html - 拒绝连接到 x,因为它违反了以下内容安全策略指令 (connect-src)
- spring-boot - 使用 Spring Data MongoDB 进行 MongoDB 项目和组操作
- reactjs - 在 React onclick 中添加列和行
- python - __add__ 运算符重载无法按预期工作
- java - 使用tomcat启动spring boot应用程序时出现java.lang.VerifyError
- c# - 如何在c#窗口窗体的面板上存储然后显示以前绘制的形状
- reactjs - 将 ReactJs 和 VueJS 项目发布到 Ubuntu 服务器
- android - 如何在 AlertDialog 中使用 PDFView 打开 PDF 文档?
- r - osmar (R) 中的 get_osm 函数给出 SSL 错误
- ajax - Gravity Forms:从 JSON 数据中动态添加字段