Compilando aplicativos GLEW mínimos no Cygwin

Vamos considerar o seguinte programa e tentar compilá-lo no Cygwin:

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

Compila e roda muito bem.-I/usr/include/opengl parece ser extremamente importante.

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

Agora,

#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

falha. Como construir o segundo aplicativo?

Primeiro

Existem várias maneiras de criar o glew do NVIDIA SDK: pelo VS, pelo cygwin, pelo cygwin com -D_WIN32. Eu também tentei compilar cygwin de glew original da fonte.

A compilação VS fornece

/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 constrói dar muitos

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

e o cygwin com -D_WIN32 não compila (fiquei um pouco motivado poresta postagem)

Segundo

Parece haver duas maneiras de vincular com o OpenGL
com -L / lib / w32api
ou com -L / usr / X11R6 / lib -lX11 -lXi -lXmu

Mas, as diretivas -L não mudam nada. Eu tenho /usr/lib/w32api/libopengl32.a, mas pode estar faltando a versão X11 (/ usr / X11R6 / lib / libGL?). Que pacote devo incluir no Cygwin? Eu instalei tudo começando com libGL (não apenas ...).

questionAnswers(4)

yourAnswerToTheQuestion