Компиляция минимального приложения GLEW под Cygwin

Давайте рассмотрим следующую программу и попробуем скомпилировать ее под Cygwin:

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

Он компилируется и работает просто отлично.-I/usr/include/opengl кажется очень важным.

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

Сейчас,

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

составленный

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

выходит из строя. Как построить второе приложение?

Первый

Есть несколько способов собрать glew от NVIDIA SDK: VS, Cygwin, Cygwin с -D_WIN32. Я также попробовал сборку Cygwin оригинального glew из источника.

VS build дает

/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 дают много

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

и Cygwin с -D_WIN32 не компилируется вообще (я был слегка мотивированэта почта).

второй

Кажется, есть два способа связаться с OpenGL
с -L / lib / w32api
или с помощью -L / usr / X11R6 / lib -lX11 -lXi -lXmu

Но директивы -L ничего не меняют. У меня есть /usr/lib/w32api/libopengl32.a, но, возможно, отсутствует версия X11 (/ usr / X11R6 / lib / libGL?). Какой пакет я должен включить в Cygwin? Я установил все, начиная с libGL (не только ...).

Ответы на вопрос(4)

Ваш ответ на вопрос