how to build MESA

来源:互联网 发布:恒大淘宝足球股价 编辑:程序博客网 时间:2024/05/16 01:31

(1)    资源准备:下载MesaDemos-7.8.2.tar.bz2MesaGLUT-7.8.2.tar.bz2MesaLib-7.8.2.tar.bz2,并解压在同一目录;

(2)    编译mesaOpenGL基本库:在Mesa-7.8.2/windows/VC8/mesa下,打开mesa.sln解决方案,直接build就可以了;在Mesa-7.8.2/windows/VC8/mesa/debug static crt目录下将会生成静态库mesa.lib, OPENGL32.lib, GLU32.lib, OSMESA32.lib及对应的动态链接库:OPENGL32.dllGLU32.dllOSMESA32.dll

(3)    编译GLUT:为了在windows下使用opengl,一般有个open glut来管理窗口和事件是比较实用的,mesa也提供了glut

打开Mesa-7.8.2/windows/VC8/progs下的progs.sln解决方案,选择并build glut这个工程,可在Mesa-7.8.2/windows/VC8/progs/debug static crt下可得到GLUT32.libGLUT32.dll

(4)    GLSL demo程序progs.sln解决方案中已经包含了一个常规的demogears,即用OpenGL1.x写的一个齿轮转动的程序。Mesa-7.8.2/progs/demos下其实有很多demo,但只有源程序和Makefile,没有windows下的vc工程,这些源程序之间的关系不好搞清楚。

既然头文件、lib库和代码都有了,建一个GLSLdemo程序,应该也不难。为偷懒起见,只是把gears改造了一下,demo程序就自己写好了,略。 GL/glew.h封装了opengl接口的声明,glew扩展库的好处可以google一下。为了使用它,把Mesa-7.8.2/src/glew下的glew.c加到了工程中(本来应该把glew build成一个动态库的,但为了偷懒,没有这样做,直接加了源文件,在工程属性中的预处理器定义中加入GLEW_STATIC)。然后配置一下工程属性,添加如下包含目录:Mesa-7.8.2/include,链接目录:Mesa-7.8.2/lib,及链接项:GLU32.lib GLUT32.lib OPENGL32.lib。就可以build你的demo程序了。

使用mesa时,要注意的是,为了避免程序链接windows自带的opengl32.dll,需要把用mesa编出来的OPENGL32.dllGLU32.dllGLUT32.dll拷贝到可执行文件的所在目录。