Compilación de aplicaciones GLEW mínimas bajo Cygwin

Consideremos el siguiente programa e intentemos compilarlo bajo Cygwin:

#include <GL/glut.h>
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glLoadIdentity();
}

Se compila y funciona muy bien.-I/usr/include/opengl Parece ser terriblemente importante.

g++ -I/usr/include/opengl -I../include/cygwin -L../lib/cygwin test.cpp -o test.exe -lglut32 -lglu32 -lglew32 -lopengl32

Ahora,

#include <GL/glew.h> // from newest NVIDIA SDK
#include <GL/glut.h>
int main(int argc, char** argv)
{
    glewInit();
    glutInit(&argc, argv);
    glLoadIdentity();
}

compilado por

g++ -I/usr/include/opengl -I../include/cygwin -L../lib/cygwin test.cpp -o test.exe -lglut32 -lglu32 -lglew32 -lopengl32

falla ¿Cómo construir la segunda aplicación?

primero

Hay varias formas de construir glew desde NVIDIA SDK: por VS, por cygwin, por cygwin con -D_WIN32. También probé la construcción cygwin de glew original desde la fuente.

VS build da

/cygdrive/c/DOCUME~1/kelebron/LOCALS~1/Temp/ccErbecl.o:test.cpp:(.text+0xa8): undefined reference to `_glLoadIdentity'
collect2: ld returned 1 exit status

Cygwin construye dan muchos

../lib/cygwin/glew32.lib(glew.o):glew.c:(.text+0x38e): undefined reference to `_glXGetProcAddress'

y cygwin con -D_WIN32 no se compila en absoluto (estaba un poco motivado poresta publicación)

Segundo

Parece que hay dos formas de vincular con OpenGL
con -L / lib / w32api
o con -L / usr / X11R6 / lib -lX11 -lXi -lXmu

Pero, las directivas -L no cambian nada. Tengo /usr/lib/w32api/libopengl32.a, pero puede faltar la versión X11 (/ usr / X11R6 / lib / libGL?). ¿Qué paquete debo incluir en Cygwin? He instalado todo comenzando con libGL (no solo ...).

Respuestas a la pregunta(4)

Su respuesta a la pregunta