当我将.obj文件转换为openGL时,我有一些错误。我不知道如何修复错误。我已将符号更改为>,但错误仍然存在。
1>------ Build started: Project: LoadObj Trial, Configuration: Release Win32 ------
1> LoadObj Trial.cpp
1>LoadObj Trial.cpp(78): warning C4018: '<' : signed/unsigned mismatch
1>LoadObj Trial.cpp(90): error C4996: 'sscanf': This function or variable may be unsafe. Consider using sscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> D:\VISUAL STUDIO\VC\include\stdio.h(311) : see declaration of 'sscanf'
1>LoadObj Trial.cpp(109): warning C4018: '<' : signed/unsigned mismatch
1>LoadObj Trial.cpp(134): warning C4018: '<' : signed/unsigned mismatch
1>LoadObj Trial.cpp(136): warning C4018: '<' : signed/unsigned mismatch
1>LoadObj Trial.cpp(138): warning C4018: '<' : signed/unsigned mismatch
1>LoadObj Trial.cpp(140): warning C4018: '<' : signed/unsigned mismatch
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
答案 0 :(得分:2)
LoadObj Trial.cpp(90):错误C4996:'sscanf':此函数或变量可能不安全。请考虑使用sscanf_s。要禁用弃用,请使用_CRT_SECURE_NO_WARNINGS。有关详细信息,请参阅在线帮助。
1&GT; D:\ VISUAL STUDIO \ VC \ include \ stdio.h(311):参见'sscanf'的声明
这不是一个真正的错误,它与OpenGL无关。这是MSVC编译器将a level 3 security/deprecation warning视为编译器错误。您的项目可能配置为将3/4级警告视为错误。
要解决“错误”,您可以使用它建议的变体(这会使您的代码变得不可移植),或者只是添加#define _CRT_SECURE_NO_WARNINGS
或将该定义添加到项目中的预处理器定义中设置。
但是,如果没有看到您的代码,则无法诊断其他 警告 。并且可以非常安全地假设简单地切换比较的方向不会做任何有用的,这可能会破坏事情,并且无法解决比较有符号和无符号值的问题。