64位ubuntu12.10下OpenGL
更新:2013-07-17
/
首先不可或缺的,就是编译器与基本的函式库,如果系统没有安装的话,
请依照下面的方式安装:
sudo apt-get install build-essential
编译c/c++所需要的软件包都会被安装,包含了gcc、g++、make、gdb、libc等等。
b.安装OpenGL Library。
这是OpenGL的基本函数库。
sudo apt-get install libgl1-mesa-dev
软件包清单(filelist of package)
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/mesa/libGL.so
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/pkgconfig/gl.pc
/usr/share/doc/libgl1-mesa-dev/changelog.Debian.gz
/usr/share/doc/libgl1-mesa-dev/copyright
...
c.安装OpenGL Utilities。
OpenGL Utilities它们利用底层的OpenGL Library来执行一些特定的任务,
提供许多很方便的函式,使 OpenGL更强大且更容易使用。
接下来安装OpenGL Utilities
sudo apt-get install libglu1-mesa-dev
软件包清单(filelist of package)
/usr/include/GL/glu.h
/usr/include/GL/glu_mangle.h
/usr/lib//x86_64-linux-gnu/libGLU.a
/usr/lib//x86_64-linux-gnu/libGLU.so
/usr/lib//x86_64-linux-gnu/libGLU.so.1
/usr/lib//x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib//x86_64-linux-gnu/pkgconfig/glu.pc
/usr/share/doc/libglu1-mesa-dev/changelog.Debian.gz
/usr/share/doc/libglu1-mesa-dev/copyright
d.安装OpenGL Utility Toolkit。
OpenGL Utility Toolkit是建立在OpenGL Utilities上面的工具箱,除了强化
了OpenGL Utilities的不足之外,也增加了OpenGL对于视窗介面支援,独立于
窗口的系统工具包,隐藏了不同窗口系统API带来的复杂性。
sudo apt-get install libglut-dev
注意在这一步的时候,可能会出现以下情况,shell提示:
正在读取软件包列表...完成正在分析软件包的依赖关系树
正在读取状态信息... 完成
E: 未发现软件包 libglut-dev
如果出现上述情况,请输入将上述命令改成
sudo apt-get install freeglut3-dev,freeglut是glut的开源实现。
软件包清单(filelist of package)
/usr/include/GL/freeglut.h
/usr/include/GL/freeglut_ext.h
/usr/include/GL/freeglut_std.h
/usr/lib/x86_64-linux-gnu/libglut.a
/usr/lib/x86_64-linux-gnu/libglut.so
/usr/lib/x86_64-linux-gnu/libglut.so.3
/usr/lib/x86_64-linux-gnu/libglut.so.3.9.0
/usr/share/doc/freeglut3-dev/changelog.Debian.gz
/usr/share/doc/freeglut3-dev/copyright
/usr/share/doc/freeglut3-dev/download.html
/usr/share/doc/freeglut3-dev/freeglut.html
/usr/share/doc/freeglut3-dev/freeglut_logo.png
/usr/share/doc/freeglut3-dev/freeglut_user_interface.html
/usr/share/doc/freeglut3-dev/index.html
/usr/share/doc/freeglut3-dev/ogl_sm.png
/usr/share/doc/freeglut3-dev/progress.html
/usr/share/doc/freeglut3-dev/structure.html
e.Ubuntu>=11.10的版本需要安装以下包以解决连接问题。
sudo apt-get install binutils-gold
f.测试。
先写一个简单的OpenGL程序,test.c 如下:
#include <GL/freeglut.h>
void init();
void display();
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
glutInitWindowPosition(0, 0);
glutInitWindowSize(500, 500);
glutCreateWindow(argv[0]);
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);
glutSolidTeapot(3);
glFlush();
}
编译连接。
gcc example.c -lGL -lGLU -lglut
下面简单说明一下所使用的 gcc 参数
-l<Library>告诉gcc去连结指定Library,
包含了freeglut.h头文件之后,也就包含了gl.h和glu.h。
运程序: ./a.out
如果看到茶壶图片,代表成功了!
本博客版权声明点击打开链接