CentOS 7安装 mesa===============How to install mesa on centos 7.-------------------------------- **1. 下载原文件** 下载连接: [mesa-11.1.3.tar.gz](https://mesa.freedesktop.org/archive/older-versions/11.x/11.1.3/mesa-11.1.3.tar.gz) [freeglut-3.0.0.tar.gz](https://Excellmedia.dl.sourceforge.net/PRoject/freeglut/freeglut/3.0.0/freeglut-3.0.0.tar.gz) [libdrm-2.4.66.tar.bz2](https://dri.freedesktop.org/libdrm/libdrm-2.4.66.tar.bz2) [llvm-3.8.0.src.tar.gz](http://releases.llvm.org/3.8.0/llvm-3.8.0.src.tar.xz) [cfe-3.8.0.src.tar.xz](http://releases.llvm.org/3.8.0/cfe-3.8.0.src.tar.xz) [compiler-rt-3.8.0.src.xz](http://releases.llvm.org/3.8.0/compiler-rt-3.8.0.src.tar.xz) [test-suilt-3.8.0.src.tar.xz](http://releases.llvm.org/3.8.0/test-suite-3.8.0.src.tar.xz) [mesa-demos-8.3.0.tar.bz2](https://mesa.freedesktop.org/archive/demos/8.3.0/mesa-demos-8.3.0.tar.bz2) [glu-9.0.0.tar.bz2](https://mesa.freedesktop.org/archive/glu/glu-9.0.0.tar.bz2) **2. 安装依赖库**``` $ sudo yum install xorg-x11-proto-devel $ sudo yum install libxcb-devel $ sudo yum install libpciaccess-devel $ sudo yum install libdrm-devel $ sudo yum install libxshmfence-devel $ sudo yum install libX11-devel $ sudo yum install libXext-devel $ sudo yum install libXdamage-devel $ sudo yum install libXfixes-devel $ sudo yum install libxcb-devel $ sudo yum install libudev-devel $ sudo yum install expat-devel``` **3. 安装llvm**``` $ tar xvf llvm-3.8.0.src.tar.xz $ tar xvf cfe-3.8.0.src.tar.xz $ tar xvf compiler-rt-3.8.0.src.tar.xz $ tar xvf test-suite-3.8.0.src.tar.xz $ cp cfe-3.8.0 llvm-3.8.0/tools/clang -r $ cp compiler-rt-3.8.0 llvm-3.8.0/projects/compiler-rt -r $ cp test-suite-3.8.0 llvm-3.8.0/projects/test-suite -r $ cd llvm-3.8.0 $ mkdir build $ cd build $ ../configure --enable-shared --enable-optimized $ make -j8 $ sudo make install``` **4. 安装mesa**``` // install mesa $ cd mesa-11.1.3/ $ ./configure $ make -j8 $ sudo make install // install glu $ cd glu-9.0.0 $ ./configure $ make -j8 $ sudo make install // install freeglut $ cd freeglut-3.0.0 $ sudo yum install libXi-devel $ cmake ./CMakeLists.txt $ make -j8 $ sudo make install``` **5. 连接库**``` // copy the old lib back. # cd /usr/lib64 # mkdir glbak # cp libGL* glbak # rm libGL.so.1 # ln -s /usr/local/ # ln -s /usr/local/lib/libGL.so.1.2.0 ./libGL.so # ln -s /usr/local/lib/libGL.so.1.2.0 ./libGL.so.1 # rm libGLU.so.1 # ln -s /usr/local/lib/libGLU.so.1.3.1 ./libGLU.so.1 # ln -s /usr/local/lib64/libglut.so.3.10.0 ./libglut.so # cp dri/ dri_bak -r # rm dri -rf # ln -s /usr/local/lib/dri/ . # reboot``` **5. 测试** OpenGL 测试代码: ```// file test.c#include <GL/glut.h>void init();void display();int main(int argc, char* argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(0, 0); glutInitWindowSize(300, 300); glutCreateWindow("OpenGL 3D View"); init(); glutDisplayFunc(display); glutMainLoop(); return 0;}void init(){ glClearColor(0.0, 0.0, 0.0, 0.0); glMatrixMode(GL_PROJECTION); glOrtho(-5, 5, -5, 5, 5, 15); glMatrixMode(GL_MODELVIEW); gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);}void display(){ glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 0, 0); glutWireTeapot(3); glFlush();} ```代码显示结果如下:
新闻热点
疑难解答