无法识别glMatrixMode()或GL_PROJECTION以及所有需要的库

时间:2014-05-04 16:37:38

标签: c++ opengl 3d camera

我想用OpenGL和C ++一起创建一个带有#34;相机的基本场景" (透视)和一个要看的对象。我找到了示例代码here。但出于某种原因,尽管事实上我已将所有必要的包含和库结合在一起(见下文),

// OpenGL init and components:
#include <glload/gl_3_3.h>
#include <glload/gl_load.hpp>
#include <GL/glew.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/freeglut.h>
#include <excpt.h>
#include <glm/glm.hpp>

IDE(Visual Studio Express 2012 for Windows Desktop)不同意我的观点:

identifier undefined for glMatrixMode() and GL_PROJECTION

如果您需要更多某种信息,请告诉我。

=============================================== ==============================

更新:在讨论了一些与opengl相关的文件之后,我就想到了这个:

// Basics:
#include <windows.h>
#include <string>
#include <exception>
#include <stdexcept>
#include <stdio.h>
#include <stdlib.h>

// OpenGL init and components:
#include <glload/gl_3_1_comp.h>
#include <glload/gl_3_2_comp.h>

#include <glload/gl_3_3.h>

#include <glload/gl_4_0_comp.h>
#include <glload/gl_4_1_comp.h>
#include <glload/gl_4_2_comp.h>
#include <glload/gl_4_3_comp.h>
#include <glload/gl_4_4_comp.h>

#include <glload/gl_load.hpp>
#include <GL/glew.h>
#include <GL/freeglut.h>
#include <excpt.h>
#include <glm/glm.hpp>

它告诉我GLEW_OK是未定义的,尽管它正好在glew.h中:

#define GLEW_OK 0

1 个答案:

答案 0 :(得分:1)

我看到你正在使用glew,你打电话给glewInit()吗?

还要确保您正在检查初始化是否成功。

GLenum err = glewInit();
if (GLEW_OK != err)
{
  /* Problem: glewInit failed, something is seriously wrong. */
  fprintf(stderr, "Error: %s\n", glewGetErrorString(err));
}

或者,它可能类似于this 它发生在我今天早上,重启解决了我的问题