2012-02-20 99 views
4

我一直在試圖爲我的電腦設置(安裝並獲取正確的庫),因此我可以啓動圖形編程。在Fedora上設置OpenGL

我訪問過OpenGL網站,發現它毫無幫助。 我試過維基教科書'Setting up page,但是它已經安裝了特定於Debian和Debian系統的信息,並且我找不到Fedora的相應內容。

我知道C和python,如果可能的話,寧願在C中工作,我找到PyOpenGL.noarch並使用yum進行安裝。

我擡頭一對夫婦的其他網站,並沒有找到很多,但我設法安裝freeglut-devel的

我查了一下,發現GL庫在/ usr/include中/ GL文件夾,但是當我嘗試運行下面的代碼{從維基網站本身採取的,所以我假設它的工作原理}:

#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 

我不知道該怎麼做。

一個基本的分步過程將不勝感激,但如果任何幫助總是受歡迎。

回答

4

嘗試將-lGL添加到您用來編譯它的命令行中(這就是錯誤消息告訴您要執行的操作)。

This question還建議您還需要-lGLU

此外,我會把庫,使用它們的源文件之後,所以:

gcc filename.c -lglut -lGL -lGLU 

相反的:

gcc -lglut -lGL -lGLU filename.c 

有關於爲什麼你對這個消息的一些詳細信息fedora here,但基本的解決方法是明確鏈接缺少的庫。

+0

請注意,OpenGL不直接支持過剩。 http://www.opengl.org/resources/libraries/glut/ – user732933 2012-02-20 03:40:58

+0

我不得不安裝libGNEW gnew.i686來獲取-lGNEW的工作,這也是一些例子所需要的,但在其他方面它工作。謝謝。 :d – ffledgling 2012-02-20 05:55:21