linux下编写OpenGL程序的一些准备工作

原创 2005年04月28日 11:12:00

linux下编写OpenGL程序的一些准备工作

需要用到的软件包有两个,glut 和tmake,分别可以从以下两个网址下载:
http://www.opengl.org/resources/libraries/glut/glut-3.7.tar.gz
ftp://ftp.trolltech.com/freebies/tmake/tmake-1.8.tar.gz

下载后的文件假设都放在/usr/src中

首先是安装glut库,以下是从www.linux.com找到的编译glut库的手册。

Install GLUT 3.7 Distribution (optional)

If you installed the MesaDemos/MesaLib package, then you have already installed GLUT 3.7 since it is included with MesaDemos. However, you may be interested in installing the GLUT

manpages and you can skip right to the "Install GLUT manual pages", below ...

Installing GLUT is a bit tricky. I'm not too familiar with imake, the program that it uses to manage the Makefiles, and didn't quite see how to get GLUT to install to where I wanted it (/usr/lib,

but MesaDemos will do this without any trouble though). It can be done manually anyhow:

 cd /usr/src
 tar -xvzf glut-3.7.tar.gz
 cd glut-3.7

 Read the file: README.linux
 cd linux
 READ the file: README
 cp Glut.cf ..
 cd ..
 Edit Glut.cf: remove any Mesa references.
 Replace any -lMesaGL -lMesaGLU with -lGL -lGLU if needed.
 In particular, replace:
  OPENGL = $(TOP)/../lib/libMesaGL.so
  GLU = $(TOP)/../lib/libMesaGLU.so
 with:
  OPENGL = -lGL
  GLU = -lGLU

 ./mkmkfiles.imake
 cd lib/glut
 cp /usr/src/glut-3.7/linux/Makefile .
 Edit the Makefile: remove any Mesa references.
 Replace any -lMesaGL -lMesaGLU with -lGL -lGLU if needed.
 In particular, replace:
  OPENGL = $(TOP)/../lib/libMesaGL.so
  GLU = $(TOP)/../lib/libMesaGLU.so
 with:
  OPENGL = -lGL
  GLU = -lGLU

 make
 ln -s libglut.so.3.7 libglut.so
 ln -s libglut.so.3.7 libglut.so.3
 cp -d libglut.* /usr/lib
 cd ..
 cd gle
 # make a shared lib for libgle
 make
 gcc -shared -o libgle.so.3.7 *.o
 ln -s libgle.so.3.7 libgle.so
 ln -s libgle.so.3.7 libgle.so.3
 cp -d libgle.* /usr/lib
 cd ..
 cd mui
 # make a shared lib for libmui
 make
 gcc -shared -o libmui.so.3.7 *.o
 ln -s libmui.so.3.7 libmui.so
 ln -s libmui.so.3.7 libmui.so.3
 cp -d libmui.* /usr/lib

        # Install the GLUT manual pages (not included with MesaDemos)
 cd /usr/src/glut-3.7
 make SUBDIRS=man Makefile
 cd man/glut
 make install.man
 ldconfig

 cd ../../progs/demos/ideas
 # edit the Makefile, change OPENGL = -lGL and GLU = -lGLU
 make
 ./ideas
 # test compiling some demos
 # take a look at which libraries have to be linked (-lX11 ...) in
 # the Makefiles.  Qt's tmake program available at www.troll.no
 # is a quick way to make a Makefile but you have to edit it
 # and add the -l needed.
ideas如果运行成功的话,说明glut已经可以用了,这时可以将include/GL下的glut等头文件复制到/usr/include中去。

上面的几步中,下载的glut包放在/usr/src目录下,如果放在其他目录下,将/usr/src改为相应的目录即可。
此外应该注意的是两个Makefile文件的修改
 改 
·  OPENGL = $(TOP)/../lib/libMesaGL.so
  GLU = $(TOP)/../lib/libMesaGLU.so
 为
  OPENGL = -lGL
  GLU = -lGLU
因为所指定的目录中没有libMesaGL.so和libMesaGLU.so。

之后是tmake的配置,后面我们可以用它来生成pro工程文件和makefile文件。

先将下载的tmake解压缩,tar  -zxvf  tmake-1.8.tar.gz
得到tmake-1.8目录,之后设置两个环境变量:PATH和TMAKEPATH
PATH=$PATH:/usr/src/tmake-1.8/bin
export PATH
TMAKEPATH=/usr/src/tmake-1.8/lib/linux-g++
export TMAKEPATH

新建一个测试目录test,将glut-3.7目录下的progs/redbook目录下的hello.c复制到test目录中

之后生成一个pro文件:progen  -o hello.pro

然后生成makefile文件:tmake hello.pro -o Makefile

编辑生成的Makefile文件,在加载动态连接库的行里面加入 -lglut -lXi -lXmu

保存,make。

./hello 可以看到运行结果就可以了。

写在自动化测试之前,我们要做哪些准备?

![这里写图片描述](http://img.blog.csdn.net/20171128164713460?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva...
  • isscollege
  • isscollege
  • 2017年11月28日 17:37
  • 112

Linux下编写OpenGL程序

安装所需要的库 apt-get install freeglut3 freeglut3-dev libglew-dev apt-get install mesa-utilsfreeglut是类似g...
  • lichengyu
  • lichengyu
  • 2017年03月14日 23:47
  • 1128

Java程序编写及运行准备工作

Java语言可分为java程序语言和Java平台,其中Java平台又包括各种硬件平台的java虚拟机(JVM)和应用平台程序编程接口(javaAPI)。java程序语言只能运行在自己的Java平台上。...
  • m0_37973607
  • m0_37973607
  • 2017年08月15日 14:24
  • 303

编写简单的OpenGL程序

以下是参考网上写的一个OpenGL入门级程序,在此分享!...   mywidget.h:    #include class MyWidget : public QGLWidget {...
  • zxncvb
  • zxncvb
  • 2011年10月26日 10:41
  • 1028

OpenGL入门学习——第一课 编写第一个OpenGL程序

说起编程作图,大概还有很多人想起TC的#include 吧? 但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。 本帖的目的...
  • u012724826
  • u012724826
  • 2013年12月05日 17:37
  • 952

Fedora23上编译openGL程序前的准备工作

Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h ...
  • u010383937
  • u010383937
  • 2017年12月07日 10:04
  • 34

EclipseCPP编写OpenGL程序

这种编程环境比老掉牙的VC++6.0好多了!至少,你可以在编写代码的时候获得帮助提示! 界面友好,开发插件丰富且实用!推荐使用!!! 推荐指数:♥♥♥♥♥ 需要安装的工具 ...
  • gongstaven
  • gongstaven
  • 2011年08月29日 23:05
  • 304

linux的一些基本操作

bash的基本操作: ctrl + c : 结束当前进程 ctrl + z :暂停当前进程,放入后台   + l :清屏   + s :停止键盘响应(+q恢复)   + d :标准输入结束   + r...
  • schumyxp
  • schumyxp
  • 2008年04月22日 11:40
  • 471

OpenGL 编写第一个OpenGL程序

说起编程作图,大概还有很多人想起TC的#include吧?但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜的640*480分辨率、16色来做吗?显然是不行的。本帖的目的是让大家...
  • pizi0475
  • pizi0475
  • 2010年03月17日 10:51
  • 903

第一课,编写第一个OpenGL程序

转自: http://blog.programfan.com/blog.asp?blogid=2563说起编程作图,大概还有很多人想起TC的#include 吧?但是各位是否想过,那些画面绚丽的PC游...
  • fengerfafa
  • fengerfafa
  • 2008年01月21日 13:30
  • 2966
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux下编写OpenGL程序的一些准备工作
举报原因:
原因补充:

(最多只允许输入30个字)