gpt4 book ai didi

c++ - Visual Studio 2015 不会抑制错误 C4996

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:15 24 4
gpt4 key购买 nike

Visual Studio 2015 Community Edition 在 debug 中编译时出现以下错误,但在 release 中编译时不会出现以下错误:

std::copy::_Unchecked_iterators::_Deprecate': Call to 'std::copy' with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'

我能够将此错误的来源追溯到 this third party library 的第 214 和 242 行我正在使用写位图图像。我不完全理解这些部分是怎么回事,所以我不想乱用它。


我正在尝试禁用此错误,但 Visual Studio 不允许。我尝试了以下建议的解决方案 in the documentation ,在 StackOverflow 或其他地方:

  • 4996 添加到“项目设置”>“配置属性”>“C/C++”>“高级”中的“禁用特定警告”字段。
  • /wd4996 添加到“项目设置”>“配置属性”>“调试”中的“命令参数”字段。
  • 在有问题的文件顶部和/或有问题的函数上方添加 #pragma warning (disable : 4996)
  • _SCL_SECURE_NO_WARNINGS_SCL_NONSTDC_NO_WARNINGS_SCL_OBSOLETE_NO_WARNINGS_SCL_SECURE_NO_WARNINGS_GLOBAL 及其组合添加到“预处理器定义”字段在项目设置 > 配置属性 > C/C++ > 预处理器中。
  • 使用 #define 指令将先前解决方案中的定义添加到有问题的文件的顶部。
  • 将先前解决方案中的定义添加到“命令参数”字段,但以 /D-D 为前缀。

但这些都不能解决我的问题。


Visual Studio 一直坚持显示此错误的原因可能是什么?

最佳答案

定义 NO_WARN_MBCS_MFC_DEPRECATION

关于c++ - Visual Studio 2015 不会抑制错误 C4996,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38060411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com