【发布时间】:2015-06-24 22:03:59
【问题描述】:
我正在运行 Windows 7.1 64 位、Boost 1.58.0 和(最近)MinGW 5.1.0 64 位。
当我之前运行 MinGW 4.9.2 时,我使用了以下内容
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-variable"
#include "boost/asio/ip/host_name.hpp" // for host_name()
#pragma GCC diagnostic pop
抑制不必要的警告,并且它在大多数情况下都有效。如果代码中存在合法错误,无论如何都会显示这些被抑制的警告——但我可以忍受。
昨天,我升级到 MinGW 5.1.0 64 位。上面显示的编译指示似乎不再抑制警告。我在 Google 上找不到任何表明发生了变化的内容。
我真的很想让这个功能再次工作,因为我使用的 Boost Test 有几十个“std::auto_ptr is deprecated”警告。
【问题讨论】:
-
请正确标记。没有像
MinGW 4.9.2这样的东西,(而MinGW-5.1.0是MinGW GCC-3.4.5的一个早已失效的安装程序)。也许你的意思是mingw-w64 GCC-4.9.2和mingw-w64 GCC-5.1.0,但MinGW都不是。 -
我对 gcc 版本 5.2.0(x86_64-posix-seh-rev0,由 MinGW-W64 项目构建)和 boost/asio 有同样的问题。但是,以下代码可以正常工作(#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-variable" void f() { int x(0); } #pragma GCC diagnostic pop)
标签: c++ gcc mingw gcc-warning