"Dev C++中OpenGL的使用"

wangjianwen8016 天讯瑞达 技术经理  2008-02-19 09:03:14
我刚学习OpenGL,写了一个程序,该程序在VC 6.0中能够正确运行,但是在Dev C++ 中确出现如下的错误:
43 C:\Dev-Cpp\Dev-Cpp\include\gl\glut.h redeclaration of C++ built-in type `short'
弄了很久都没有解决这个错误,请各位高手帮忙,不胜感激!

#include <gl\glut.h>
static int year=0,day=0;
void init()
{
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_FLAT);
}

void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0,0.0,0.0);
glPushMatrix();
glutSolidSphere(0.6,20,16);
glRotatef((GLfloat)year,0.0,0.0,1.0);
glTranslatef(0.0,2.5,0.0);
glRotatef((GLfloat)day,0.0,0.0,1.0);
glColor3f(0.0,1.0,0.0);
glutSolidSphere(0.2,10,8);
glPopMatrix();
glutSwapBuffers();
}
void reshape(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(70.0,(GLfloat)w/(GLfloat)h,1.0,20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,1.0,0.0);

}

void keyboard(unsigned char key,int x,int y)
{
switch(key)
{
case 'd':
day=(day+10) % 360;
glutPostRedisplay();
break;
case 'D':
day=(day-10) % 360;
glutPostRedisplay();
break;
case 'y':
year=(year+5) % 360;
glutPostRedisplay();
break;
case 'Y':
year=(year-5) % 360;
glutPostRedisplay();
break;
default:
break;
}
}
int main (int argc,char ** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(800,800);
glutInitWindowPosition(100,100);
glutCreateWindow(argv[0]);
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutKeyboardFunc(keyboard);
glutMainLoop();
return 0;
}

...全文
1603 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pingmianjiao 2011-01-28
我也是这样做的,不过不行,提示找不到glut相关函数
回复
tudoumayi 2010-01-16
glut.h中是这样写的:
# ifndef _WCHAR_T_DEFINED
typedef unsigned short wchar_t;
# define _WCHAR_T_DEFINED
# endif

所以说是因为没有定义_WCHAR_T_DEFINED引起了unsigned short重定义,
解决方法是你可以包含windows.h或者自己定义这个宏# define _WCHAR_T_DEFINED

你试试看吧。
回复
eryar 2008-05-24
在新建一个工程
New...
project/multimedia/OpenGL
就可以建立一个OpenGL的Demo了。
回复
eryar 2008-05-24
Dev 中有OpenGL的包含文件的,
在Dev Cpp /include /GL中,
你可以先建一个OpenGL的例子demo看看啊,
在多媒体中有OpenGL的例子,还要做一个link...
回复
UltraBejing 2008-05-01
接分先!
回复
公孙二狗 2008-03-13
你是怎么安装Glut库的?是通过Dev-Cpp的包管理器从网线上在线安装的还是直接下载Glut的库文件安装的?
如果是通过包管理器在线安装的,没有任何问题,然后在Dev-Cpp中创建一个Opengl Glut工程,把你的代码贴进去就可以了.

因为我用这种安装方式用过不少次,而且用Eclipse来写时,也是直接调用Dev-cpp安装好的Glut库。
回复
tianjiaicc 2008-03-06
1、首先在stdafx.h中,加入头文件
#i nclude"gl\gl.h"
#i nclude"gl\glu.h"
#i nclude"gl\glaux.h"
并把以上几个文件放到....\\Microsoft Visual Studio\VC98\INCLUDE\gl下;把OPENGL32.LIB、GLU32.LIB、GLAUX.LIB文件放到VC所在的盘:\Program Files\Microsoft Visual Studio\VC98\Lib\下。这样你就可以在VC中使用OpenGL函数了。
回复
tianjiaicc 2008-03-05
是/gl/glu.h吧
回复
相关推荐
发帖
工具平台和程序库
创建于2007-09-28

2.4w+

社区成员

C/C++ 工具平台和程序库
申请成为版主
帖子事件
创建了帖子
2008-02-19 09:03
社区公告
暂无公告