我们正在使用g ++ 4.4.3,我们的第三方库之一导致了可爱的错误
/ usr / include / c ++ / 4.4 / backward / backward_warning.h:28:2:警告:#warning此文件包含至少一个已弃用或过时的标题,可能会在将来某个日期删除,恕不另行通知。请使用具有等效功能的非弃用接口。有关替换标头和接口的列表,请参阅文件backward_warning.h。要禁用此警告,请使用-Wno-deprecated。
由于它是第三方库,我无法解决问题,所以我只想告诉编译器为导致问题的一个H文件禁止此警告。
我尝试了一些
#pragma GCC diagnostic ignored "-Wdeprecated"
但是我无法找到要指定的警告(没有" -Wdeprecated")。
那么有什么方法可以为一个有害的H文件压制这个警告?我希望能做到这样的事情:
// Turn off the warning
#pragma GCC diagnostic ignored "-Wdeprecated"
#include "BadFile.h"
// Turn the warning back on
#pragma GCC diagnostic warning "-Wdeprecated"
答案 0 :(得分:0)
我无法找到使用pragma执行此操作的方法,只能在命令行上传递-Wno-deprecated。所以,如果你绝望,你可以尝试:
#undef __DEPRECATED
// include offensive headers here...
#define __DEPRECATED
但请注意,我绝对不会宽恕不确定系统级别#defines :-P