VS2013编译错误:C4996 -D_SCL_SECURE_NO_WARNINGS解决方案
解决:
参考1:
vs error C4996 : -D_SCL_SECURE_NO_WARNINGS - u010634308的专栏 - CSDN博客
https://blog.csdn.net/u010634308/article/details/53011298
转载:
【error C4996: 'std::_Equal1': Function call 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'】
【原因】:对C++标准库任何可能的不安全的调用都会导致C4996的错误。
【解决】:上策是改实参类型等来规范调用,下策是屏蔽警告。方法如下:
-D即difine a macro定义宏。在属性页、C/C++、预处理器、预处理器定义添加_SCL_SECURE_NO_WARNINGS即可,如图
PS:按理说在.cpp文件顶部添加#define _SCL_SECURE_NO_WARNINGS也可,但会有如下警告:
warning C4603: '_SCL_SECURE_NO_WARNINGS' : macro is not defined or definition is different after precompiled header use
故还是优先使用第一种方法吧。
参考2:
VS2013编译错误:-D_SCL_SECURE_NO_WARNINGS解决方案 - Apollon_krj的博客 - CSDN博客
https://blog.csdn.net/Apollon_krj/article/details/68923683
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
