您的位置:首页 > 编程语言 > C语言/C++

visual C++ 2015 编译过程中,error C4996: 'XXXX': 被声明为已否决

2016-07-20 17:46 441 查看


vs2013编译过程中,错误 59 error C4996: 'GetVersionExW': 被声明为已否决

好几次碰到这个错误,必须mark 一下!!!!!Project Properties > Configuration Properties > C/C++ > General > SDL checks关掉。

人生有些关口非狠狠的斗一下不可,不能为了混口饭吃而自甘蹉跎。

转自http://www.cnblogs.com/djiankuo/p/5289159.html

----------------------------------------------------------------------------------------------------------------------


高分求解VC2013中“GetVersionExW函数被声明为已否决”的问题?

在VC2013中,调用GetVersionExW函数便会出现以下信息:

error C4996: 'GetVersionExW': 被声明为已否决

1> C:\Program Files (x86)\Windows Kits\8.1\Include\um\sysinfoapi.h(442) : 参见“GetVersionExW”的声明

无论如何设置工程死活就是编译通不过,请高人支招。

系统环境:WIN8.1;IDE:VC2013;编码方式:Unicode

回答:
C4996曾经不是警告么?现在升级啦?

尝试这个

1.Project Properties > Configuration Properties > C/C++ > General > SDL checks关掉

其他方法:

2.#pragma warning(disable: 4996)

3。/wd 4996

第二和第三招不知道还管用不

-------------------------------------------------------------------------------------------------------------------------------------------------
GetVersionEx被声明为已否决

背景:

在vs2013中使用GetVersionEx时,编译提示:error C4996 : 'GetVersionExW' : 被声明为已否决

解决办法:

1、项目 >> 属性 >> C / C++ >> 常规 >> sdl检查,选择“否”

2、项目 >> 属性 C++ >> 预处理 中加入 _CRT_SECURE_NO_WARNINGS

3、#pragmawarning(disable: 4996)

类似的提示错误:

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

错误原因解释:

这种微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。
转自:http://blog.csdn.net/hellokandy/article/details/50806637
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: