编译 errorC4996错误 -D_SCL_SECURE_NO_WARNINGS
来源:互联网 发布:sql server 求和 编辑:程序博客网 时间:2024/06/02 06:20
今天项目中使用protocol buffer生成的一个c++文件是时遇到一个编译问题,查看输出窗口后发现是google protocolbuf库中用的std::copy()函数导致的
在vs 2012中进行编译会弹出如下信息:
error C4996: 'std::_Copy_impl': 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'
而在vs 2010中却仍可以正确编译并运行,所显示的编译信息如下:
warning C4996: 'std::_Copy_impl': 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'
原因是在vs 2012中提升了安全机制,在这里如果我们还是想直接使用这两个函数那么,我们可以在使用前添加如下的宏定义:
ifndef_SECURE_SCL
#define_SECURE_SCL 0
#else
#undef_SECURE_SCL
#endif
或者直接关闭警告:
pragma warning(disable:4996)
- 编译 errorC4996错误 -D_SCL_SECURE_NO_WARNINGS
- VS2013编译错误:-D_SCL_SECURE_NO_WARNINGS解决方案
- warning: -D_SCL_SECURE_NO_WARNINGS
- vs error C4996 : -D_SCL_SECURE_NO_WARNINGS
- 解决use -D_SCL_SECURE_NO_WARNINGS
- 解决use -D_SCL_SECURE_NO_WARNINGS的问题
- 解决use -D_SCL_SECURE_NO_WARNINGS的问题
- 解决use -D_SCL_SECURE_NO_WARNINGS的问题
- 编译错误
- 编译错误
- 编译错误
- 编译错误
- 编译错误
- 编译错误
- 编译错误
- 编译错误
- 编译错误
- 编译错误
- perforce(p4)相关问题
- CGContextRef详解
- mongodb 3.2版本基本管理
- Android正则验证手机号,身份证号,邮箱等格式是否正确
- 分布式大数据高并发的web开发框架
- 编译 errorC4996错误 -D_SCL_SECURE_NO_WARNINGS
- SSH整合遇到的问题
- 怎样正确查看Linux的内存占用情况
- VM:CG raster data-关于SDWebImage中的decodedimagewithimage引发的内存大量消耗的解决办法
- SSkeychain框架替换KeychainItemWrapper
- Java中的Copy-On-Write容器,CopyOnWriteArrayList和CopyOnWriteArraySet
- 【spring-mvc】spring-mvc中handlerMethod的执行
- 轻量级iOS安全框架:SSKeyChain
- 深入理解Linux内核 Chapter1知识点