将.obj转换为openGL时出错

时间:2014-04-21 15:38:21

标签: c++ opengl

当我将.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 ==========

1 个答案:

答案 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或将该定义添加到项目中的预处理器定义中设置。

但是,如果没有看到您的代码,则无法诊断其他 警告 。并且可以非常安全地假设简单地切换比较的方向不会做任何有用的,这可能会破坏事情,并且无法解决比较有符号和无符号值的问题。


关于制作预处理器定义,我提到了项目范围的设置,请参阅以下屏幕截图(Visual Studio 2013 Pro):

Project Settings