linux下安装openGL(mesa)

1     下载解压
在官方网站下载最新mesa,mesa主要有以下几部分:
MesaLib-x.y.z - Mesa库源代码,驱动和文档。
MesaDemos-x.y.z - OpenGL的演示和测试程序。绝大多数需要GLUT(Mark Kilgard的原始GLUT/freeglut/OpenGLUT)
MesaGLUT-x.y.z - Mark Kilgard的GLUT,配合mesa使用,也有DOS, OS/2, BeOS等版本。
如果对运行演示没有兴趣,只需要安装第一个包。
如果是新手不知该怎么办,该把这三个包都装上。三个包有.tar.gz,.tar.bz2 和.zip格式,我下载的是.tar.bz2格式,解压缩如下:
bunzip2 -c MesaLib-7.5.1.tar.bz2 |tar xf -
bunzip2 -c MesaDemos-7.5.1.tar.bz2 |tar xf -
bunzip2 -c MesaGLUT-7.5.1.tar.bz2 |tar xf -
如果下载.tar.gz格式,解压缩如下:
tar zvf MesaLib-x.y.z.tar.gz
tar zvf MesaDemos-x.y.z.tar.gz
tar zvf MesaGLUT-x.y.z.tar.gz
在解压后的文件esa-x.y.z中能看到如下目录:
Makefile - top-level Makefile for most systems
configs/ - makefile parameter files for various systems
include/ - GL header (include) files
bin/  - shell scripts for making shared libraries, etc
docs/  - documentation
src/  - source code for libraries
src/mesa - sources for the main Mesa library and device drivers
src/glu  - libGLU source code
src/glx  - sources for building libGL with full GLX and DRI support
src/glw  - Xt/Motif/OpenGL widget code
如果下载解压了MesaDemos.X.Y压缩包,还会有如下目录:
progs/demos - original Mesa demos
progs/xdemos - GLX OpenGL/Mesa demos
progs/redbook - examples from the OpenGL Programming Guide
progs/samples - examples from SGI
progs/images/ - image files
如果下载解压了MesaGLUT.X.Y压缩包,则有如下目录:
src/glut - GLUT library source code

2    安装
需要如下基本配置:
dri2proto version 1.99.3 or later
Linux 2.6.28
libDRM version 2.4.15 or later
Xorg server version 1.5 or later
建议安装linux是全部组件都装上,这样就不担心了
安装:
可以使用autoconf 来Build,如果这个不管用,就用传统的方式Build
传统的Makefiles方式Build:
stand-alone方式(不用硬件加速器):make linux-x86
DRI/accelerated(要用硬件了):make linux-dri,还有因架构而优化的其他如linux-dri-x86, linux-dri-x86-64, and linux-ppc,使用时要保证有相应的DRM and Xserver
完成后格式大致如下:
lrwxrwxrwx    1 brian    users          10 Mar 26 07:53 libGL.so -> libGL.so.1*
lrwxrwxrwx    1 brian    users          19 Mar 26 07:53 libGL.so.1 -> libGL.so.1.5.060100*
-rwxr-xr-x    1 brian    users     3375861 Mar 26 07:53 libGL.so.1.5.060100*
lrwxrwxrwx    1 brian    users          11 Mar 26 07:53 libGLU.so -> libGLU.so.1*
lrwxrwxrwx    1 brian    users          20 Mar 26 07:53 libGLU.so.1 -> libGLU.so.1.3.060100*
-rwxr-xr-x    1 brian    users      549269 Mar 26 07:53 libGLU.so.1.3.060100*
lrwxrwxrwx    1 brian    users          12 Mar 26 07:53 libglut.so -> libglut.so.3*
lrwxrwxrwx    1 brian    users          16 Mar 26 07:53 libglut.so.3 -> libglut.so.3.7.1*
-rwxr-xr-x    1 brian    users      597754 Mar 26 07:53 libglut.so.3.7.1*
lrwxrwxrwx    1 brian    users          11 Mar 26 08:04 libGLw.so -> libGLw.so.1*
lrwxrwxrwx    1 brian    users          15 Mar 26 08:04 libGLw.so.1 -> libGLw.so.1.0.0*
-rwxr-xr-x    1 brian    users       20750 Mar 26 08:04 libGLw.so.1.0.0*
lrwxrwxrwx    1 brian    users          14 Mar 26 07:53 libOSMesa.so -> libOSMesa.so.6*
lrwxrwxrwx    1 brian    users          23 Mar 26 07:53 libOSMesa.so.6 -> libOSMesa.so.6.1.060100*
-rwxr-xr-x    1 brian    users       23871 Mar 26 07:53 libOSMesa.so.6.1.060100*
libGL 是主要的OpenGL库(i.e. Mesa).
libGLU是OpenGL工具库.
libglut 是GLUT库.
libGLw is the Xt/Motif OpenGL drawing area widget library.
libOSMesa is the OSMesa (Off-Screen) interface library.
我安装的7.5.1版本还需要手工把glew.h和glut.h写到/usr/include/GL中,这样就不会报错说找不到这两个文件和一些文件类型了

3  运行演示
在演示之前,要设置两个环境变量,如下:
cd lib/
export LD_LIBRARY_PATH=${PWD}
export LIBGL_DRIVERS_PATH=${PWD} (如果用DRI)
可以转到Mesa/demos/directory:
cd ../progs/demos
运行一个实例,如gears

4    安装头文件和库文件
make install
mesa的头文件默认在/usr/include/GL/,库文件默认在/usr/lib/,如果想在装一个,就要换个位置了,比如把他们放在/usr/local/include/GL/ 和/usr/local/lib/。
安装前检查下INSTALL_DIR和DRI_DRIVER_INSTALL_DIR ,如果有必要修改下。使用的时候用LD_LIBRARY_PATH选择,这是个比较多种OpenGL实现不同的好方法。

5  用pkg-config建立工程
用pkg-config决定不同的编译器和链接标识
gcc `pkg-config --cflags --libs glut` mydemo.c -o mydemo

你可能感兴趣的:(linux下安装openGL(mesa))