gl.h und glu.h ohne windows.h nutzen?
-
hi
ich will opengl (gl.h und glu.h) ohne windows.h nutzen. wenn ich sie einfach nicht inkludiere, kennt er WINGDIAPI und APIENTRY nicht. wenn ich diese jedoch korrekt definiere hat er irgend ein problem mit GLUquadric...
was nun?
-
Das sind nur Typedefs. Ersetze die einfach mit dem äquivalenten Gegenstück.
-
machen entwickler von opengl-programmen für mac oder linux das ebenfalls so?
gibt es da nich so ne cross-plattform-version der gl-headers?
-
Du könntest beispielsweise GLEW verwenden.
Kleiner Auszug aus der glew.h:
/* * GLEW does not include <windows.h> to avoid name space pollution. * GL needs GLAPI and GLAPIENTRY, GLU needs APIENTRY, CALLBACK, and wchar_t * defined properly. */ /* <windef.h> */ #ifndef APIENTRY #define GLEW_APIENTRY_DEFINED # if defined(__MINGW32__) || defined(__CYGWIN__) # define APIENTRY __stdcall # elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) # define APIENTRY __stdcall # else # define APIENTRY # endif #endif #ifndef GLAPI # if defined(__MINGW32__) || defined(__CYGWIN__) # define GLAPI extern # endif #endif /* <winnt.h> */ #ifndef CALLBACK #define GLEW_CALLBACK_DEFINED # if defined(__MINGW32__) || defined(__CYGWIN__) # define CALLBACK __attribute__ ((__stdcall__)) # elif (defined(_M_MRX000) || defined(_M_IX86) || defined(_M_ALPHA) || defined(_M_PPC)) && !defined(MIDL_PASS) # define CALLBACK __stdcall # else # define CALLBACK # endif #endif /* <wingdi.h> and <winnt.h> */ #ifndef WINGDIAPI #define GLEW_WINGDIAPI_DEFINED #define WINGDIAPI __declspec(dllimport) #endif