【问题标题】:"Disable Specific Warnings" compiler option not working“禁用特定警告”编译器选项不起作用
【发布时间】:2019-04-23 19:51:03
【问题描述】:

我正在将一些旧版 c++ 代码升级到 Visual Studio 2019,并收到“C4996”编译器错误。

“禁用特定警告”构建选项不起作用。我已经确认 /wd"4996" 存在于命令行中。但是,当我构建时,我仍然收到 C4996 错误。我关注了these instructions

char temp[256] = { 0 };
char *upper = strupr(temp);

我希望构建错误会消失,但它仍然存在。

这是一个示例项目的屏幕截图,显示了错误:

此外,在代码中添加“#pragma warning(disable : 4996)”确实可以消除警告/错误,正如预期的那样。但是,这不是一个理想的解决方案,因为需要更改大量代码行。我正在寻找一个项目范围的解决方案,据我所知“禁用特定警告”应该提供。

【问题讨论】:

  • 为什么编译器输出将其归类为错误而不是警告?
  • 是什么让你相信这是一个警告?编译器似乎认为这只是一个错误,可能是故意的。这可能有助于使其沉默:stackoverflow.com/questions/20448102/…

标签: c++ compiler-errors visual-studio-2019


【解决方案1】:

问题是用户错误。我没有注意到我正在编辑的属性(发布)和我正在构建的配置(调试)的配置不同。

在正确的配置中设置“禁用特定警告”,按预期工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    相关资源
    最近更新 更多