I want to learn to use shaders and therefore created a new C++ project on Netbeans (ver. 8.0.2).
I want to include the GLFW and the GLEW Library like stated in this tutorial: http://www.learnopengl.com/#!Getting-started/Creating-a-window
I'm currently struggeling at importing glew properly. When using #include <GL/glew.h>
, the compiler (I use GNU g++ on Windows10x64/Cygwin console) throws a huge list of errors. It seems to be a problem with glu.h
. I removed the impot of glu.h inside of glew.h for testing purposes. This removed the errors, but also prevented openGL from loading completely (functions starting with gl were "undefined", like glViewport
). So that cannot be the solution.
The output I get when calling the compiler on the normal glew.h:
g++ -m64 -c -g -Wall -I/cygdrive/C/Users/Erik/programming/Libraries/glew-1.13.0-win32/glew-1.13.0/include/ -I/cygdrive/C/Users/Erik/programming/Libraries/glfw-3.1.2.bin.WIN32/glfw-3.1.2.bin.WIN32/include/ -std=c++11 -MMD -MP -MF "build/Debug/Cygwin-Windows/startup.o.d" -o build/Debug/Cygwin-Windows/startup.o startup.cc
In file included from /cygdrive/C/Users/Erik/programming/Libraries/glew-1.13.0-win32/glew-1.13.0/include/GL/glew.h:1202:0,
from startup.cc:5:
/usr/include/w32api/GL/glu.h:68:79: error: expected ')' before '*' token
void APIENTRY gluQuadricCallback(GLUquadric *qobj,GLenum which,void (CALLBACK *fn)());
^
/usr/include/w32api/GL/glu.h:68:79: error: expected ')' before '*' token
/usr/include/w32api/GL/glu.h:68:79: error: expected initializer before '*' token
/usr/include/w32api/GL/glu.h:78:79: error: expected ')' before '*' token
void APIENTRY gluTessCallback(GLUtesselator *tess,GLenum which,void (CALLBACK *fn)());
^
/usr/include/w32api/GL/glu.h:78:79: error: expected ')' before '*' token
/usr/include/w32api/GL/glu.h:78:79: error: expected initializer before '*' token
/usr/include/w32api/GL/glu.h:94:75: error: expected ')' before '*' token
void APIENTRY gluNurbsCallback(GLUnurbs *nobj,GLenum which,void (CALLBACK *fn)());
^
/usr/include/w32api/GL/glu.h:94:75: error: expected ')' before '*' token
/usr/include/w32api/GL/glu.h:94:75: error: expected initializer before '*' token
/usr/include/w32api/GL/glu.h:96:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUquadricErrorProc)(GLenum);
^
/usr/include/w32api/GL/glu.h:97:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessBeginProc)(GLenum);
^
/usr/include/w32api/GL/glu.h:98:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessEdgeFlagProc) (GLboolean);
^
/usr/include/w32api/GL/glu.h:99:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessVertexProc)(void *);
^
/usr/include/w32api/GL/glu.h:100:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessEndProc)(void);
^
/usr/include/w32api/GL/glu.h:101:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessErrorProc)(GLenum);
^
/usr/include/w32api/GL/glu.h:102:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessCombineProc)(GLdouble[3],void*[4],GLfloat[4],void**);
^
/usr/include/w32api/GL/glu.h:103:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessBeginDataProc)(GLenum,void *);
^
/usr/include/w32api/GL/glu.h:104:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessEdgeFlagDataProc) (GLboolean,void *);
^
/usr/include/w32api/GL/glu.h:105:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessVertexDataProc)(void *,void *);
^
/usr/include/w32api/GL/glu.h:106:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessEndDataProc)(void *);
^
/usr/include/w32api/GL/glu.h:107:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessErrorDataProc)(GLenum,void *);
^
/usr/include/w32api/GL/glu.h:108:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUtessCombineDataProc)(GLdouble[3],void*[4],GLfloat[4],void**,void*);
^
/usr/include/w32api/GL/glu.h:109:24: error: expected ')' before '*' token
typedef void (CALLBACK *GLUnurbsErrorProc)(GLenum);
^
To me, (i'm no pro in C++ and thus not very good in interpreting error messages) it seems like CALLBACK
is not defined yet. Any idea on how to solve this?