vs2015配置opencv3.2后又换opencv3.3出现的C4996问题

   因为联合开发的原因我将原先配置的环境VS2015+opencv3.2换为opencv3.3的版本,就是安装后增加opencv3.3的路径删除3.2的路径,一切按照标准的opencv配置教程配置新的和删除旧的,但是运行原来的程序却出现好几个C4996错误,看了一下,主要集中在字符串上,例如error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. error 

C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

查了一下解决方案如下:

1、按错误提示那样子在报错的函数后面增加_s,例printf_s,这是微软的新的带有自检功能的函数,比之前的安全(据说是这样子)。

2、在报错文件最开始增加 #define _CRT_SECURE_NO_WARNINGS,那个文件有问题就在那个里面加。

注意以上方法需要配合 项目属性-》c/c++-》SDL检查---继承***,或者否。

有说在“预处理器”-》”预处理器定义“中加入“_CRT_SECURE_NO_WARNINGS”,尝试后无效。


你可能感兴趣的:(opecv)