Cross und OpenGL
-
Hi@all,
ich bin relativ neu in der Linux und OpenGL-Welt und komme deswegen noch nicht ganz zurecht, aber ich hoffe ihr könnt mir helfen. Ich habe angefangen mit OpenGL und GLUT-Programmierung, das sind natürlich noch sehr einfache Programme, aber ich wollte sie auch in einem .exe Format haben. ich habe es mit folgendem Befehl versucht:i586-mingw32msvc-gcc gravi.cpp -o gravi.exe -lGL -lglut -lGLU
aber ich kriege die Fehlermeldung
/usr/lib/gcc/i586-mingw32msvc/3.4.5/../../../../i586-mingw32msvc/bin/ld: cannot find -lGL
könnt ihr mir bitte helfen, muss ich die GL Libaries irgendwie nochmal in ein Verzeichnis reinkopieren, oder mache ich einfach was falsch?
-
Du kannst die Linux-OpenGL Bibliotek natürlich nicht für deine Windows-Programme nuten.
Ich vermute mal, dass du mit -lopengl32 mehr erfolg hast, ansonsten hat mal suchen ob du a) OpenGL für den CrossCompiler installiert hast und b) wie die entsprechende Bibliotek heißt
EDIT://
Nach meiner /usr/i586-mingw32-msvc/lib musst du auch -lglu durch -lglu32 ersetzen
-
vielen dank, das hat meine bisherigen Probleme gelöst. Ich habe auch lglut durch lglut32 ersetzt, aber da bekomme ich jetzt schon wieder eine Fehlermeldung. Hier einmal ein kleiner Auszug
/tmp/ccmW852U.o:gravi.cpp:(.text+0x15): undefined reference to
___glutInitWithExit@12' /tmp/ccmW852U.o:gravi.cpp:(.text+0x32): undefined reference to
___glutCreateWindowWithExit@8'
/tmp/ccmW852U.o:gravi.cpp:(.text+0x50): undefined reference to `___glutCreateMenuWithExit@8'
collect2: ld returned 1 exit statusich hoffe das kann irgendjemanden weiterhelfen
-
Da stehen Aufrufe zu Funktionen drin, die der linker nicht auflösen kann. Du musst gegen die glut-Bibliothek linken.
-
ich hpoffe mal du hast glu (ohne t am Ende) durch glu32 ersetzt.
Wenn du die Zeile -lglut nicht entfernt hast sollte es dann eigentlich funktionieren