OpenGL开发遇到问题,希望指点!!!

Valorie1211 2009-02-26 08:10:47
在以VS2005为平台学习openGL时,出现下面这个错误,请问应该如何解决啊???我知道glMultiDrawElements()函数是1.4版本中引入的,我怎么才能换版本啊???

e:\opengl source code\opengl-1.4\openglbk\mvarray.cpp(49) : error C3861: “glMultiDrawElements”: 找不到标识符
...全文
686 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq77523195 2011-06-10
  • 打赏
  • 举报
回复
为什么我什么顺序放都不对呢~!
Arthas_wang 2010-07-30
  • 打赏
  • 举报
回复
大哥你要按照这个顺序引用
#include <GL\glew.h>
#include <GL\glut.h>
#include <gl\gl.h>
#include <gl\glaux.h>
#include <gl\glu.h>
不会有问题了
baoxiaojun 2009-03-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xiaozu88 的回复:]
d:\program files\microsoft visual studio\vc98\include\gl\glew.h(84) : fatal error C1189: #error : gl.h included before glew.h
我加了个glew.h出现了这样的错误,请问是什么问题啊
[/Quote]

按照5L的顺序包含文件。
ryfdizuo 2009-03-03
  • 打赏
  • 举报
回复
PS:这个函数glMultiDrawElements比glBegin,glEnd效率更高吗?
ryfdizuo 2009-03-03
  • 打赏
  • 举报
回复

//一定要注意顺序:
//glew中的原句:
#if defined(__gl_h_) || defined(__GL_H__)
#error gl.h included before glew.h
#endif
#if defined(__glext_h_) || defined(__GLEXT_H_)
#error glext.h included before glew.h
#endif
#if defined(__gl_ATI_h_)
#error glATI.h included before glew.h
#endif
xiaozu88 2009-03-02
  • 打赏
  • 举报
回复
d:\program files\microsoft visual studio\vc98\include\gl\glew.h(84) : fatal error C1189: #error : gl.h included before glew.h
我加了个glew.h出现了这样的错误,请问是什么问题啊
Valorie1211 2009-03-02
  • 打赏
  • 举报
回复
谢谢,我下载了glew.h,现在能识别glMultiDrawElements()函数了 ,但是还有出错,
e:\opengl source code\opengl-1.4\openglbk\mvarray.cpp(54) : error C2664: “void (GLenum,GLsizei *,GLenum,const GLvoid **,GLsizei)”: 不能将参数 4 从“GLvoid *[2]”转换为“const GLvoid **”
转换丢失限定符
e:\opengl source code\opengl-1.4\openglbk\mvarray.cpp(54) : error C2664: “void (GLenum,GLsizei *,GLenum,const GLvoid **,GLsizei)”: 不能将参数 2 从“int”转换为“GLsizei *”
从整型转换为指针类型要求 reinterpret_cast、C 样式转换或函数样式转换

局部代码如下:
void display(void)
{
static GLubyte oneIndices[] = {0, 1, 2, 3, 4, 5, 6};
static GLubyte twoIndices[] = {1, 7, 8, 9, 10, 11};
static GLsizei count[] = {7, 6};
static GLvoid * indices[2] = {oneIndices, twoIndices};

glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);
glMultiDrawElements (GL_LINE_STRIP, count, GL_UNSIGNED_BYTE,
indices, 2);
glFlush ();
}

请问?????
chenyingshu 2009-02-27
  • 打赏
  • 举报
回复
先帮顶一下,你说的我还没有遇到过呢
Valorie1211 2009-02-27
  • 打赏
  • 举报
回复
补充,我的代码是这样的:

#include <GL/glut.h>
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>

void setupPointer(void)
{
static GLint vertices[] = {25, 25,
75, 75,
100, 125,
150, 75,
200, 175,
250, 150,
300, 125,
100, 200,
150, 250,
200, 225,
250, 300,
300, 250};

glEnableClientState (GL_VERTEX_ARRAY);
glVertexPointer (2, GL_INT, 0, vertices);
}

void init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_SMOOTH);
setupPointer ();
}

void display(void)
{
static GLubyte oneIndices[] = {0, 1, 2, 3, 4, 5, 6};
static GLubyte twoIndices[] = {1, 7, 8, 9, 10, 11};
static GLsizei count[] = {7, 6};
static GLvoid * indices[2] = {oneIndices, twoIndices};

glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);
glMultiDrawElements (GL_LINE_STRIP, count, GL_UNSIGNED_BYTE,
indices, 2);

glFlush ();
}

void reshape (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
gluOrtho2D (0.0, (GLdouble) w, 0.0, (GLdouble) h);
}

void keyboard(unsigned char key, int x, int y)
{
switch (key) {
case 27:
exit(0);
break;
}
}

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrev,
PSTR CmdLine, int iCmdShow)
{
int argc = 1;
char *argv[] = {"OpenGL Application"};
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (350, 350);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc (keyboard);
glutMainLoop();
return 0;
}
waizqfor 2009-02-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 Valorie1211 的帖子:]
在以VS2005为平台学习openGL时,出现下面这个错误,请问应该如何解决啊???我知道glMultiDrawElements()函数是1.4版本中引入的,我怎么才能换版本啊???

e:\opengl source code\opengl-1.4\openglbk\mvarray.cpp(49) : error C3861: “glMultiDrawElements”: 找不到标识符
[/Quote]
没按openGL的库吧
joyancy21 2009-02-27
  • 打赏
  • 举报
回复

#include <GL/glew.h>
#include <GL/glut.h>

如果没有glew.h到网上下一个
  • 打赏
  • 举报
回复
帮up吧
weixieming 2009-02-27
  • 打赏
  • 举报
回复
VS中用OpenGL还没弄过,VS中也许OpenGL库是3.0

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧