我试图在我的Visual Studio 2015项目中使用'OpenGL Image' library,但由于以下错误而无法成功编译它:


  c:\ users \ sabro_000 \ downloads \ gli-0.8.1.1 \ gli./core/load.inl(32):错误C4996:'fopen':此函数或变量可能不安全。考虑改用fopen_s。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。详细信息请参见在线帮助。


上面的错误对我来说根本不是新的,因为我一直多次看到此错误消息,所以我一直尝试在VS2015中使用已弃用的fopen。每当我看到此消息时,我一直在做的事情不是进入_CRT_SECURE_NO_WARNINGS,而是使用fopen_s(),因为该消息表明,因为这样做更容易解决。

但是现在我在OpenGL GLI中遇到了这个错误,并且想知道在VS2015上使用OpenGL GLI的人如何摆脱这个错误。

最佳答案

首先,这是一个警告,而不是错误(至少在默认设置下如此)。这意味着即使出现此警告,您也可以正常构建和运行代码。

其次,简单的解决方案是按照警告和#define _CRT_SECURE_NO_WARNINGS的指示进行操作(或仅通过项目属性将宏添加到编译命令行中)。请注意,以_s结尾的“更安全”功能从未被Microsoft之外的C标准库供应商真正采用,并且存在proposal再次将其从标准中删除。您最好不要使用它们。

07-26 06:21