Anzeige:
Ergebnis 1 bis 5 von 5

Thema: glew mit mingw benutzen

  1. #1
    Registrierter Benutzer
    Registriert seit
    11.04.2006
    Beiträge
    69

    glew mit mingw benutzen

    Hi,
    ich benutze in eclipse mingw-g++ als compiler und benötige GLEW um OpenGL Erweiterungen zu benutzen. Habe GLEW als statische Biliothek unter mingw gebaut und die entsprechenden Dateien in das mingw Verzeichnis kopiert:
    glew.h, glxew.h, wglew.h nach "C:\MinGW\include\GL"
    libglew32.a, libglew32.dll.a, libglew32mx.a, libglew32mx.dll.a nach "C:\MinGW\lib"

    Zum Verwenden von GLEW habe ich folgendes in die Header Files eingefügt:
    Code:
    #define GLEW_STATIC
    #include <GL/glew.h>
    Beim Linken des Programmes kommt es jedoch zu Fehlern.
    Code:
    g++ -mthreads -Wl,-subsystem,windows -o debug\BallerburgClon.exe object_script.BallerburgClon.Debug  -L"c:\Qt\4.8.0\lib" -lglu32 -lopengl32 -lgdi32 -luser32 -lmingw32 -lqtmaind -DGLEW_STATIC -LC:\MinGW\msys\1.0\home\martin\glew-1.7.0\glew-1.7.0\lib -lQtXmlPatternsd4 -lQtXmld4 -lQtOpenGLd4 -lQtGuid4 -lQtCored4 
    ./debug\CPixelCanvas.o: In function `CPixelCanvas':
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:39: undefined reference to `__glewGenBuffers'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:40: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:41: undefined reference to `__glewBufferData'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:42: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:48: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:50: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:39: undefined reference to `__glewGenBuffers'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:40: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:41: undefined reference to `__glewBufferData'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:42: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:48: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:50: undefined reference to `__glewBindBuffer'
    ./debug\CPixelCanvas.o: In function `ZN4MyGL12CPixelCanvas9setPixelsERKSt6vectorINS_6tPixelESaIS2_EE':
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:74: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:75: undefined reference to `__glewMapBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:97: undefined reference to `__glewUnmapBuffer'
    make[1]: Leaving directory `C:/Users/martin/workspace/BallerburgClon'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:98: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:104: undefined reference to `__glewBindBuffer'
    C:\Users\martin\workspace\BallerburgClon/myGL/CPixelCanvas.cpp:106: undefined reference to `__glewBindBuffer'
    collect2: ld gab 1 als Ende-Status zurück
    make[1]: *** [debug\BallerburgClon.exe] Error 1
    make: *** [debug] Error 2
    Weis jemand wie ich das Programm ohne Fehler mit GLEW linken kann?

    Grüße Martin

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ich sehe in deinem Linkeraufruf keine Direktive zum Linken mit libglew32 oder libglew32mx

    D.h. es fehlt vermutlich
    Code:
    -lglew32
    eventuell auch
    Code:
    -lglew32mx
    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    11.04.2006
    Beiträge
    69
    Voltreffer !!! Nun geht es endlich. Vielen Dank.

    Was mich noch interessieren würde, wo steht das man "glew32" anhängen muss. Ich hatt nur mal -lGLEW probiert, das brachte aber nichts. Oder nimmt man immer -lDateiname ohne endung?

    Grüße

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Ja, immer -l gefolgt vom Namen der Bibliotheksdatei, ohne Endung.

    Also aus libglew32.a folgt -lglew32

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer
    Registriert seit
    05.12.2014
    Beiträge
    1
    Siehe meinen eingefügten Link.
    Ein einfaches abfragen wie oben im Quelltext wird bei der Maus nichts bringen weil es immer false zurück geben wird.
    Hier mußt du mit einer Schleife und XEvent Arbeiten.
    We are the pioneers in providing Brain Dumps.com toefl and 700-301 dumps exams with northwood exam pass

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •