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

Qt, MSVC, Suppress compiler warning in a moc_

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

”警告 C4251:'QBasicMutex::d_ptr':class 'QBasicAtomicPointer' 需要 dll-interface 才能被 class 'QBasicMutex' 的客户端使用

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

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

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

我如何:-

  1. 抑制该警告

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

我正在使用 Qt 5.15.2,MSVC 2019

谢谢。

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