gpt4 book ai didi

g++:如何禁用特定的 "deprecated or antiquated header"?

转载 作者:行者123 更新时间:2023-12-01 06:36:19 27 4
gpt4 key购买 nike

我们正在使用 g++ 4.4.3,我们的第三方库之一导致了这个可爱的错误

/usr/include/c++/4.4/backward/backward_warning.h:28:2: 警告:#warning 此文件包含至少一个已弃用或过时的 header ,将来可能会在不另行通知的情况下将其删除。请改用具有等效功能的非弃用接口(interface)。有关替换 header 和接口(interface)的列表,请参阅文件 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"

最佳答案

我无法想出使用编译指示的方法,只能通过在命令行上传递 -Wno-deprecated 。因此,如果您感到绝望,可以尝试:

#undef __DEPRECATED

// include offensive headers here...

#define __DEPRECATED

但请注意,我绝对不会容忍 undef'ing 系统级别 #defines :-P

关于g++:如何禁用特定的 "deprecated or antiquated header"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14443914/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com