真想骂娘阿,刚开始用utunbu,什么也不明白,不明白我装都软件都在哪里,不知道就像windows下的系统文件那样的文件在哪里,也不知道如何配置环境变量。就这样稀里糊涂的,还要抓紧时间装openGL,在windows下分分钟就装完了阿,在linux下愣是装了俩天,先是那些软件包就装不上,原因是因为linux下的一下软件的相互依赖关系。问题是apt-get给的错误信息完全不对,搞了半天一点进展没有。然后用了aptitude,done,果然要比前面那个好用。这个可以很好的处理处理软件依赖树,还有就是据说在卸载的时候也更干净,这个再以后体会吧。然后装好之后,再把编译器的链接,它的选项配置一下,就是把在链接过程中用到都文件的路径给它,done,ok,其实这时候写的opengl代码就可以跑起来了。但是,当创建plut项目的时候,它要求提供glut的location,其实就是提供用到的头文件和.lib,.a文件的路径,然后,就有耗了我大量的时间,一来根本不知道装完环境后linux把那些文件放到了哪里,二是也不知道到底有些什么文件。这就麻烦了,还有就是codeblocks提供的信息也有问题,就是头文件不能直接放在include文件下,而要放在include/GL/下。然后找了半天,发现系统就那些文件都放在了usr目录下。这个目录的include,里面有用到的所有头文件,在lib下,有要用到的静态链接文件和动态链接文件。在这个文件夹下似乎还有一系列可执行的工具的文件。anyway,这里感觉很像系统文件,而且这里默认是不能改动的。当然,在linux下你要作什么都可以。但是,到现在,仍然没有解决所有问题,我怀疑是没有把用到的所有文件都复制到我提供给codeblocks的目录中,其实我这样作,就算能跑也不好,还是要通过配置环境变量来解决比较好些。。。
anyway。。。
建立基本编译环境
1 sudo apt-get install build-essential
安装OpenGL Library
1 sudo apt-get install libgl1-mesa-dev
安装OpenGL Utilities
1 sudo apt-get install libglu1-mesa-dev
安装OpenGL Utility Toolkit
1 sudo apt-get install freeglut3-dev
测试效果:a.c
1 #include <GL/glut.h>
2
3 void init()
4 {
5 glClearColor(0.0, 0.0, 0.0, 0.0);
6 glMatrixMode(GL_PROJECTION);
7 glOrtho(-5, 5, -5, 5, 5, 15);
8 glMatrixMode(GL_MODELVIEW);
9 gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
10 }
11
12 void display()
13 {
14 glClear(GL_COLOR_BUFFER_BIT);
15 glColor3f(1.0, 0, 0);
16 glutWireTeapot(3);
17 glFlush();
18 }
19
20 int main(int argc, char *argv[])
21 {
22 glutInit(&argc, argv);
23 glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
24 glutInitWindowPosition(0, 0);
25 glutInitWindowSize(300, 300);
26 glutCreateWindow("OpenGL 3D View");
27 init(); glutDisplayFunc(display);
28 glutMainLoop();
29 return 0;
30 }
编译
1 gcc a.c -o a -lGL -lGLU -lglut
效果如图