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
相关文章推荐
- C/C++获取当前系统时间
- C++ time and date
- c 语言位操作
- C++11 unordered_map 无序容器的使用
- C++中的explicit关键字
- C语言 冒泡排序
- c++多个文件中如何共用一个全局变量
- 浅谈C++多态性
- C++ 对象数组释放造成内存泄漏
- UVA 10719-Quotient Polynomial
- 一组精度较高的c++测试间函数
- 122. Best Time to Buy and Sell Stock II
- 大话设计模式01----简单工厂模式
- LintCode-两个链表的和sum
- C++——map
- C语言 选择排序
- c/c++代码的unit-test中覆盖率的统计
- HDU 4734 F(x) (数位DP)
- 如何在github上传c语言代码
- c++ 学习之路 第一天 C++类和对象,命名空间,标准库和std命名空间