【发布时间】:2009-07-22 15:30:45
【问题描述】:
我将我的 C++ 代码链接到几个库(其中一些库非常基于标头),其中一些库有一段时间没有更新。我在 GCC 4.0 上使用 -Wall 和 Wextra 编译我的代码已经有一段时间了,没有任何警告或错误。但是,现在我使用的是较新版本的 GCC (4.3),我的许多文件都在打印来自其他库的包含文件的警告(例如,当库的模板化代码使用 restrict 关键字时,warning: type qualifiers ignored on function return type在返回的指针上)。同样,当我使用 GCC 4.1 编译时,我正在使用的集群上的一个稍旧版本的 OpenMPI 会打印出许多警告。
问题是:当离开本地目录读取头文件时,我可以做任何事情来禁用其他人代码中的警告只是吗?我想让我的代码尽可能干净和正确(因此,我启用了所有警告),但是如果我的 make 过程被我无法修复的问题弄得一团糟,那么这个目的就会失败。我是否只需要全局禁用代码中出现的特定警告?
【问题讨论】: