学计算机图形学用到OpenGL,不过想在Ubuntu下进行实现,查查了查,OpenGL
在linux下的C绑定是Mesa,可是安装这玩意儿可是费了我一番功夫。
首先,从www.Mesa3D.org下载了三个文件,MesaDemos-X.Y.Z.tar.gz
,
MesaGLUT-X.Y.Z.tar.gz,MesaLib-X.Y.Z.tar.gz,分别是Demo,GLUT库和最主要的Mesa(OpenGL)链接文件。这里X.Y.Z是Mesa的版本,我下载的是7.6.1。解压后的得到一个文件夹Mesa-X.Y.Z。
在bash中进入这个文件夹中,执行./configure进行配置,额,少了一些库。
首先是libdrm,在软件包管理器中,找到了libdrm-dev,安装后,再次执行./configure。
还是少库。
少了dri2proto。
查了查,找到了x11proto-dri2-dev,安装后执行./configure
少库。
少了xxf86vm。
在软件包中找到libxxf86vm-dev安装后,额,不抱希望了,执行./configure。
…………少库。
这次是xt。
找了找,在软件包中找到了libxt-dev,安装后。./configure。
成功了!提示我make。
哈哈,真高兴!可是make就出问题了,提示我少了fdepend这个东西。
可是我怎么都找不到这个东西在哪里。
很郁闷。
继续上www.Mesa3D.org看看官方的说明,上面说安装Mesa需要4个东西。
-
dri2proto
version 1.99.3 or later
-
Linux
2.6.28
-
libDRM
version 2.4.3 or later
-
Xorg server
version 1.5 or later
前三个,我都有安阿?第四个是什么东西,继续在软件包管理器中捣鼓。找到了xorg-dev这个安装。再次make,竟然成功了!好吧,make
install,也成功了。
然后接下来,验证Mesa能不能用。
转到Mesa-X.Y.Z/progs/demos目录下,执行./gears,提示找不到libglut.so.3(好像是这个,记不大清了),看看Mesa3D上让执行这么几个命令。
-
cd
lib/ (转到了Mesa-X.Y.Z/lib/目录下)
-
export
LD_LIBRARY_PATH=${PWD}
-
export
LIBGL_DRIVERS_PATH=${PWD} (if using DRI drivers)
现在再执行Mesa-X.Y.Z/progs/demos/gears可以运行了,看到了齿轮在转动!
可是在Mesa-X.Y.Z/progs/samples/编译一个文件
gcc `pkg-config opengl --cflags --libs ` point.c -o point
出现了好多错误。
额,怎么回事?
才知道,编译文件是找不到glut库,仔细一看才发现,自己编译文件用的命令错了,应该是
gcc
`pkg-config glut
--cflags --libs ` point.c -o point
好了,现在一切没有问题了,安装成功!