我将我的C++代码链接到几个库(其中有几个库是基于头文件的),其中一些库在一段时间内没有更新。我一直在GCC 4.0编译我的代码-Wall
和Wextra
一段时间没有任何警告或错误。但是,现在我使用的是更新版本的GCC(4.3),我的一些文件已经从其他库的包含文件(例如,warning: type qualifiers ignored on function return type
)打印警告,当库的模板代码在返回的指针上使用restrict
关键字时)。同样,我正在使用的群集中的一个略微旧版本的OpenMPI,在使用GCC 4.1进行编译时会打印出许多警告。在其他库中编译器警告
问题是:当我离开本地目录读取头文件时,我可以做任何事情来禁止其他人的代码中的警告?我想让我的代码尽可能干净和正确(因此,我启用了所有警告),但是如果我的制作过程因无法修复的问题而混乱,目的就会失败。我是否必须全局禁用在代码中出现的特定警告?
我不相信 - 系统改变了其他的东西。这是我的方法,并且运作良好。唯一的问题是,由于您自己的代码中的宏扩展(头文件定义宏),可能仍然存在错误。 – 2009-08-25 15:50:37