在Fedora上设置OpenGL

时间:2012-02-20 03:09:57

标签: python c linux opengl fedora

我一直在尝试为我的电脑设置(安装并获取正确的库),以便开始图形编程。

我访问过OpenGL网站,发现它无益。 我尝试了Wikibooks'Setting up page,但是它安装了特定于Debian和Debian系统的信息,我找不到Fedora的相应内容。

我知道C和python,如果可能的话我宁愿在C中工作,我确实找到PyOpenGL.noarch并使用yum安装它。

我查了几个其他网站并没有找到太多但我设法安装freeglut-devel

我检查并在/ usr / include / GL文件夹中找到了GL库但是当我尝试运行以下代码{取自wikibooks网站本身,所以我假设它有效}:

#include <stdio.h> /* printf */
#include <GL/glut.h> /* glut graphics library */
/* 
* Linux c console program 
* gcc f.c -lglut
* ./a.out
* */
main(int argc, char **argv)
{
   glutInit(&argc, argv);
   glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
   glutCreateWindow("red 3D lighted cube");
   printf("GL_VERSION = %s\n",glGetString(GL_VERSION) ); /* GL_VERSION = 2.1.2 NVIDIA      195.36.24 */

return 0; 
}

当我做gcc -lglut filename.c

我收到以下错误:

/usr/bin/ld: /usr/lib/gcc/i686-redhat-linux/4.6.1/../../../libglut.so: undefined reference to symbol 'glGetString'
/usr/bin/ld: note: 'glGetString' is defined in DSO /usr/lib/libGL.so.1 so try adding it to the linker command line
/usr/lib/libGL.so.1: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

我不知道该怎么做。

我们非常感谢基本的逐步程序,但如果有任何帮助,请随时欢迎。

1 个答案:

答案 0 :(得分:4)

尝试将-lGL添加到用于编译它的命令行中(这是错误消息告诉您要执行的操作)。

This question也表明您还需要-lGLU

此外,我会将库放在使用它们的源文件之后,所以:

gcc filename.c -lglut -lGL -lGLU

而不是:

gcc -lglut -lGL -lGLU filename.c 

有关于为什么在fedora here上收到此消息的更多信息,但基本修复是明确链接丢失的库。