最近帮朋友写 Java OpenGL 的程序,慢慢有点感觉,于是就想在 Linux 上写点东西给自己。
实在不想再去跟 Linux 桌面程序的各种 bug 斗争,我选择 VMware。用 root 启动到 runlevel 3,打开 xfs 服务,然后 startx /usr/bin/xterm,一切正常。
从 OpenGL 红书抄了一份代码,GL + GLU + GLUT 的。直接编译出错。检查了一下,我的 FC4 里只有 freeglut,没有 glut-devel,于是把 #include <GL/glut.h> 改成 #include <GL/freeglut.h>,然后 gcc 1.c -lGL -lGLU -lglut 编译通过了。但是 ./a.out 运行的时候程序出错退出,打印出来的出错信息是
freeglut (./a.out): OpenGL GLX extension not supported by display ':0.0'
看来是 VMware 的 X 驱动不支持 GLX。难道只能重启去用我的 nvidia GLX 么?
忽然想起 mesa 似乎是支持纯软件的 GL 渲染的。去 mesa3d.org 下载源码,编译完成,得到一组 libGL libGLU 和 libGLw 等库。没有安装因为担心会覆盖我的 nvidia 驱动文件。用 gcc 的 -L 参数指定库的位置,然后通过指定 LD_LIBRARY_PATH=./Mesa-6.2.1/lib 再尝试运行 a.out,果然得到了正确的渲染。
博主帮朋友写 Java OpenGL 程序后,想在 Linux 上编写。因不想处理桌面程序 bug 选择 VMware。从 OpenGL 红书抄代码编译出错,修改头文件后编译通过,但运行出错,提示 VMware 的 X 驱动不支持 GLX。后下载 mesa 源码编译得到库,用 gcc 的 -L 参数指定库位置并设置 LD_LIBRARY_PATH 解决渲染问题。
8010

被折叠的 条评论
为什么被折叠?



