Qt、MSVC、在 moc_ 中抑制编译器警告

问题描述

我刚刚开始在 Qt 中使用 MSVC。在编译 moc_ 时,MSCV 正在生成 警告 -

"警告 C4251: 'QBasicMutex::d_ptr': 类 'QBasicAtomicPointer' 需要有 dll 接口供类 'QBasicMutex' 的客户端使用

在我自己的源代码中,我可以使用 :-

  #pragma warning ( push )
  #pragma warning ( disable : 4251 )
  #include <QApplication>
  #pragma warning ( pop )

当我包含一个 Qt 标头时,它似乎可以工作,但我无法让它与 moc_ 一起工作。

我该怎么做:-

  1. 取消该警告

  2. 否则,请调低 MSVC 中的一般警告级别,以便抑制此警告(以及其他任何警告)

我使用的是 Qt 5.15.2 和 MSVC 2019

谢谢。

解决方法

将“/wd4251”添加到您的编译器标志(qmake:QMAKE_CXX_FLAGS,cmake:target_compile_definitions)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...