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
Lesezeichen