使用预编译的标题接近时,大量的QT警告

Large number of QT warnings when using a precompiled headers approach

本文关键字:警告 QT 接近 编译 标题      更新时间:2023-10-16

我最近切换了一个项目,以利用预编译的标头,因为编译变得慢。在这样做之前,它没有任何重要警告。

但是,在添加了我在项目中使用的所有QT标头(我使用的40-50(在stdafx.h文件中,在构建解决方案时,当stdafx.h文件构建时,我会收到一个巨大的数字(1000(与QT功能有关的警告。特别是,我得到了很多"警告C4251",例如

1> c: qt 5.9 msvc2015_64 include qtgui/qtgui/qrawfont.h(154(:警告c4251:'qrawfont :: d':class'qexpllyshareddatapointer'类" qrawfont"(编译源文件title bar.cpp(

其他两种常见的警告类型(尽管少得多(是C4800和C4244。

我正在使用QT 5.9 64位,在运行VS2015的Windows 10框上,。

我显然可以禁用它们,但是我真的不喜欢这样做的事情而不理解为什么会发生这种情况。

许多跨平台代码会引起警告。并非总是可以禁用它们,例如,如果一个参数未使用,一个编译器可能会警告,如果它可以人为地闭合该警告,则另一个编译器可能会警告无法实现的代码。然后,女士警告说,诸如C标准字符串库之类的内容,通常不切实际地避免。您必须记住,MS和Apple对QT之类的感觉非常混杂。他们想要的最后一件事是出售用于运行QT应用程序的未分化平台。因此,提供适当警告的动机不多。