- 前言
- 一. BUG提示
- 二. 分析解决
- 三. 小结
程序员难免要与BUG打交道,本系列将记录自己在VS平台下代码调试过程中遇到的一些BUG,希望对大家遇到相关问题时,可以提供帮助。
一. BUG提示1>------ 已启动生成: 项目: Project2, 配置: Debug x64 ------
1> ExtractData.cpp
1>e:\project\vs\project2\project2\project2\extractdata.cpp(34): error C4996: 'fopen': 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.
1> c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h(205): note: 参见“fopen”的声明
1>e:\project\vs\project2\project2\project2\extractdata.cpp(35): error C4996: 'fopen': 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.
1> c:\program files (x86)\windows kits\10\include\10.0.10240.0\ucrt\stdio.h(205): note: 参见“fopen”的声明
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
二. 分析解决
遇到这个之后,第一反应是_CRT_SECURE_NO_WARNINGS没有在项目-属性-C/C++的预处理器定义中添加
赶紧添加一下
重新编译生成,
1>------ 已启动全部重新生成: 项目: Project2, 配置: Debug x64 ------
1> ExtractData.cpp
1> Project2.vcxproj -> E:\PROJECT\VS\Project2\Project2\x64\Debug\Project2.exe
1> Project2.vcxproj -> E:\PROJECT\VS\Project2\Project2\x64\Debug\Project2.pdb (Partial PDB)
========== 全部重新生成: 成功 1 个,失败 0 个,跳过 0 个 ==========
通过。
其实还有第二种方法,在主程序代码第一行添加下列语句
#define _CRT_SECURE_NO_DEPRECATE
第二种方法参考:今日报错系列:‘fopen‘: This function or variable may be unsafe. Consider using fopen_s instead.
解决!
三. 小结其实我的第一次添加没有成功,因为编译平台选的是Debug,我添加的是在Release里面,所以第一次编译没有成功。然后就是搜到第二种解决方法,直接第一行添加,编译通过,刚在梳理这个问题的时候,进入到配置界面才看到自己在Debug平台下没有添加_CRT_SECURE_NO_WARNINGS,赶紧添加进来试一下,果然没问题,还是大意了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)