问题描述
我刚刚开始在 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_ 一起工作。
我该怎么做:-
-
取消该警告
-
否则,请调低 MSVC 中的一般警告级别,以便抑制此警告(以及其他任何警告)
我使用的是 Qt 5.15.2 和 MSVC 2019
谢谢。
解决方法
将“/wd4251”添加到您的编译器标志(qmake:QMAKE_CXX_FLAGS,cmake:target_compile_definitions)