如何在不触及源代码的情况下禁用GNU c编译器/ gcc警告?

时间:2014-09-07 11:06:53

标签: c gcc compilation compiler-warnings gcc-warning

关于如何禁用gcc警告被视为源代码开发人员的错误,有大量多余的解释。现在,我想知道是否有办法在不触及源代码(包括构建工具配置文件)的情况下禁用它们,即让编译继续忽略警告。根据我对https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html处的gcc文档的理解,如果为CXXFLAGS="-w"./configure指定了make就足够了,例如CXXFLAGS="-w" ./configure && make

备注:我知道针对开发者的意图编译程序并不是一个好主意沟通问题并将其整合在一起总是更好的选择如果不是唯一的。

背景(请阅读整个问题,特别是上面和下面的注释,我不是要找到以下问题的修复程序!):我正在尝试编译qemu git tag {{1}在带有armv7架构的Synology DSM 5.0上的Debian 7.6 chroot中获取

v2.1.0

我玩了一些选项,现在我只想知道是否有可能在GNU构建工具中更好地实现。我非常确定如果不能使用,构建结果至少是不可靠的。

顺便说一句:如果你通过$ SEARCH_ENGINE找到了这个,并且与qemu有相同或类似的问题:https://bugs.launchpad.net/qemu/+bug/1363641

1 个答案:

答案 0 :(得分:0)

您对-w选项的看法是正确的,确保其在任何地方传播的最简单方法是将其放在CC变量中:CC="gcc -w" ./configure ...

但是,如果他们特意将此警告视为错误,那么我认为您不应该尝试禁用它。在这种情况下,代码显然是为了这个警告是不可能的,并且你的工具链中可能存在可怕的错误(例如,整数类型定义错误,因此他们期望与指针大小相同的类型是不)。你应该尝试追踪这个问题,否则你只会浪费你的时间来破坏运行时崩溃的构建。为什么不查看警告消息引用的一些源代码行,看看实际发生了什么?