[配置稍微麻烦]
虽然预计在 ubuntu 下会比 windows 下麻烦一些,但是还是准备不足。开始是少装了一个包,后来加错编译参数……出于防止以后忘记,以及顺便增加 blog 内容,把我这一个小时的撞墙经过记录下来。
[准备工作]
要想编写基于 cpp 的 OpenGL 程序,我们首先要准备文本编辑器、C++ 编译器以及 OpenGL&GLut 库文件。
ubuntu 系统自带了一些文本编辑器:老手使用的 vim,及新手使用的 gedit。由于无论是在 linux 方面还是 openGL/Glut 方面,在下都是先行量产型的新手(都语无伦次了-_-b),所以就大大方方的揪出 gedit 用了。
linux 下的 gcc 编译器(集合)是相当出名的,可惜 ubuntu 没有自带,需要自行安装。在命令行输入:
sudo apt-get install build-essential
实际上 build-essential 不是编译器,只是一堆软件包的依赖关系。装了它,一般的编译器的问题就基本解决了。
解下了就是 OpenGL/Glut 库的问题了。同样,在终端里输入:
sudo apt-get install freeglut3 freeglut3-dev libglut3 libglut3-dev libgl1-mesa libgl1-mesa-dev
我就是那少了一个的悲惨男子啊~~以后还是先在论坛里翻翻再动手比较好T_T。
[还是差不多的代码]
#include
#include
void RenderScene( void )
{
glClear( GL_COLOR_BUFFER_BIT ) ;
glFlush() ;
}
void SetupRC( void )
{
glClearColor( 1.0f, 0.0f, 0.0f, 1.0f ) ;
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB ) ;
glutCreateWindow( "Simple" ) ;
glutDisplayFunc( RenderScene ) ;
SetupRC() ;
glutMainLoop() ;
return 0;
}
[编译的关键在于参数]
使用 gcc 不同于在 vs.net 中,IDE 帮你做了很多事。这里,我们需要自己输入编译参数:
g++ opgl.cc -o out.o -lglut -lGL -lGLU -lm -L/usr/X11R6/lib
之后,成了!
longinus 于 2008-04-07 23:18:00发表:
好歹注明一下出处,而且不要擅自改动!
这里是原文