首页 > 解决方案 > “禁用特定警告”编译器选项不起作用

问题描述

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

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

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

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

这是一个示例项目的屏幕截图,显示了错误: 在此处输入图像描述

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

标签: c++compiler-errorsvisual-studio-2019

解决方案


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

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


推荐阅读