2012年4月18日星期三

(转载)Qt 下 OpenGL glut 安装

(http://www.qtcn.org/bbs/simple/?t46022.html)

我的做法是把glut32.dll,glut.dll放入到C:\WINDOWS\SYSTEM32里面
然后把 glut32.lib,glut.lib复制到QT安装路径下面的mingw\lib文件夹里(我的是:D:\Qt\2010.04\mingw \lib),把glut.h放到mingw\include\GL文件夹里(我的是:D:\Qt\2010.04\mingw\include\GL), 然后建一个空项目OpenGL.pro,并且向本项目里添加main.cpp,main.cpp的内容如下(这是一个测试项目):



我使用的是vs2008,相信vs2005应该跟这个步骤差不多,运行的时候总是提示:
fatal error C1083: 无法打开包括文件:“GL/glut.h”: No such file or directory
这个时候就要进行相应的如下操作:
下载GLUT工具包,然后如下:
1、将下载的压缩包解开,将得到5个文件
2、把解压得到的glut.h放到C:/Program Files/Microsoft Visual Studio 9.0/VC/include这个文件夹。
3、把解压得到的glut.lib和glut32.lib放到静态函数库所在C:/Program Files/Microsoft Visual Studio 9.0/VC/lib文件夹。
4、把解压得到的glut.dll和glut32.dll放到操作系统目录下面的system32文件夹内。
5、再次运行,如果还是出错,那么就更改头文件原有的名称#include <GL/glut.h>为#include <glut.h>



#include <windows.h>
#include <GL/glut.h>
#include <math.h>
const GLfloat Pi = 3.1415926536f;
void myDisplay(void)
{
GLfloat a = 1 / (2-2*cos(72*Pi/180));
GLfloat bx = a * cos(18 * Pi/180);
GLfloat by = a * sin(18 * Pi/180);
GLfloat cy = -a * cos(18 * Pi/180);
GLfloat
PointA[2] = { 0, a },
PointB[2] = { bx, by },
PointC[2] = { 0.5, cy },
PointD[2] = { -0.5, cy },
PointE[2] = { -bx, by };
glClear(GL_COLOR_BUFFER_BIT);
// 按照A->C->E->B->D->A的顺序,可以一笔将五角星画出
glBegin(GL_LINE_LOOP);
glVertex2fv(PointA);
glVertex2fv(PointC);
glVertex2fv(PointE);
glVertex2fv(PointB);
glVertex2fv(PointD);
glEnd();
glFlush();
}
int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(100, 100);
    glutInitWindowSize(400, 400);
    glutCreateWindow("第一个OpenGL程序");
    glutDisplayFunc(&myDisplay);
    glutMainLoop();
    return 0;
}

最后再在OpenGL.pro里添加:
LIBS=-l opengl32 -l glut32 -l glut
再编译就可以看到一个黑色的窗口。是用GLUT库编译的。

没有评论:

发表评论