本文主要是介绍VS报错【C4996】This function or variable may be unsafe. Consider using fopen_s instead.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
楼主最近在学习图像处理,所用平台为VS2017+opencv3.2.0。调试程序时,报错如下:
This function or variable may be unsafe. Consider using fopen_s instead.To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
仔细一看,这不挺简单嘛,在包含文件前面添加提示的宏定义就行了:
#define _CRT_SECURE_NO_WARNINGS
运行之后,发现结果依然没变,继续报错如上所示。
于是,内事不决问百度,总结如下几点解决方法:
- 1.就如提示那样添加宏定义:
#define _CRT_SECURE_NO_WARNINGS
-
2.新建项目的时候去掉“安全开发生命周期(SDL)检查”即可将错误转变成警告,不影响编译和运行。项目建立好之后就在 “项目->属性->C/C++/常规”将SDL检查改为“/sdl-”,如图所示:
-
3.fopen等类似的函数已经不太安全,建议以后采用_s结尾的安全版本。
-
4.和第一种方法类似,找到“项目->属性->C/C++/预处理器/预处理器定义”中添加“_CRT_SECURE_NO_WARNINGS”,如下图所示:
这篇关于VS报错【C4996】This function or variable may be unsafe. Consider using fopen_s instead.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!