使用qt做开发,跨平台,在windows下,我们喜欢用vs2013开发工具,linux下用qt creater,有时候在pro文件里面,警告级别设置比较高,甚至把警告设置为错误,为了提醒消除警告,但是有些警告无法消除,比如在vs2013环境下,包含#include<QMutex>时候,会报C4512警告,这个警告的原因是,QMetexdata(QMutex的成员变量指针) 没有赋值运算符,我们也没必要重写这两个类的子类,添加拷贝赋值和拷贝构造,就去掉这个C4512警告好了,windows和linux下格式不一样,抛出个例子:
#ifdef _MSC_VER
#pragma warning(disable:4512) //在windows下测试的,就把这个警告id贴上了
#else
#pragma GCC diagnostic ignored "警告内容"//linux 下提示id,不过把提示的警告内容放" "就可以了,这个是格式。
#endif