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 status

    ich 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


Anmelden zum Antworten