【问题标题】:GLuint not being recognisedGLuint 未被识别
【发布时间】:2013-04-10 03:10:46
【问题描述】:

我正在 OpenGL 中创建一个 3D 应用程序,并且为了在我正在读取的模型上显示纹理,我正在使用 GLuint。但是,我收到了 Visual Studio 错误 C4430 缺少类型,以及与该问题相关的其他一些错误。

glut 文件已包含在内,并且在放入之前运行良好。是 GLuint 已过时,还是其他原因?

编辑: 更改的代码是:

之前的对象构造函数

Object::Object(string shapeFileName, string texFileName){
    readFile(shapeFileName);
    loadTexture(texFileName);
}

之后的对象构造函数

Object::Object(string shapeFileName, string texFileName){
    readFile(shapeFileName);

    glGenTextures(1, &texture);
    glBindTexture(GL_TEXTURE_2D, texture);
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

    loadTexture(texFileName);
    gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 1024, 512, GL_RGB, GL_UNSIGNED_BYTE, image_array);

    free(image_array);

    glTexImage2D(GL_TEXTURE_2D, 0, 3, 1024, 512, 0, GL_RGB, GL_UNSIGNED_BYTE, image_array);
}

在头文件中添加GLuint texture; 行,这是唯一引发错误的位。

【问题讨论】:

  • 你能显示一些代码吗?最好是前后比较,即一个工作代码和一个无法编译的代码,正如你所说,它“在放入之前工作正常”......
  • @leemes:如果有人没有提供足够的信息来回答这个问题,请投票结束。
  • 就是这个问题。我刚刚添加了一个未初始化的变量GLuint texture;
  • 我们需要更多的上下文。

标签: c++ visual-studio opengl textures glut


【解决方案1】:

对于 iOS,您需要将 OpenGLES.framework 链接到您的目标并在代码中导入标头:

#import <OpenGLES/gltypes.h>

【讨论】:

    【解决方案2】:

    我认为您应该使用 glew 并包括:

    #include <GL/glew.h>
    

    而不是:

    #include <GL/gl.h>
    

    【讨论】:

      【解决方案3】:

      您是否在声明变量的标头中包含了 OpenGL 标头? GLuint 是在 gl.h 中定义的,所以你必须包含它。

      在所有操作系统上除了 MacOS X它是

      #include <GL/gl.h>
      

      在 MacOS X 上是

      #include <OpenGL/gl.h>
      

      【讨论】:

      • @Yann4:定义“正确的地方”。您引用的编译错误清楚地表明它没有包含在所有重要的地方。
      • 在头文件中定义,头文件引用的.cpp文件和主文件,都有include保护
      猜你喜欢
      • 2012-02-28
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-12
      相关资源
      最近更新 更多