编译环境为linux,系统是Ubuntu 11.10.
1,下载和安装freeglut
我下的是freeglut-2.8.0.tar.gz。然后解压.
Terminal进入解压后的目录freeglut-2.8.0.
执行如下命令:
./configure
make
make install
2,编译源代码
下载红宝书的源代码,解压,终端进入解压后的目录,我是的opengl7_source。
Makefile就别管了,我执行了,有错。
按如下方法来编译,直接用g++了,单个例子来编译,比如cube.c:
g++ cube.c -lGL -lGLU -lglut -o cube
最后那个cube是编译完的可执行程序的名字,可以自己取。
完了就生成了cube程序。
然后运行cube:
./cube
中间可能会出现以下错误:
error while loading shared libraries: libglut.so.3: cannot open shared object file: No such file or directory
这是找不到库的错误,很多库都安到了/usr/local/lib下面,系统找不到它们。
刚才安的glut库就是在其下,所以要改改配置。
解决办法是:
打开/etc/ld.so.conf文件,加入一行/usr/local/lib,保存。
然后终端执行:
/sbin/ldconfig -v
成功后再来运行cube,现在成功的出现cube的窗口啦!
还有一点,如果编译报错error: stray ‘\32’ in program,那么,打开cube.c
看看里面有无中文格式的字符,如有,删除或改成英文就行了。