OpenGL com Eclipse CDT + MinGW + GLEW + GLFW: Referências indefinidas

Editar: Enquanto isso, eu descobri isso e escrevi uma resposta detalhada abaixo.

Eu apenas tentei mudar da versão Express do MSVC 10 para o Eclipse CDT no Win7 e, durante a configuração, encontrei um problema com o seguinte código OpenGL simples (que funciona bem no Visual Studio):

#define GLEW_STATIC
#include <GL/glew.h>
#include <GLFW/glfw3.h>

int main()
{
    GLFWwindow* w;

    if (!glfwInit())
        return -1;

    w = glfwCreateWindow(640, 480, "Hello World", NULL, NULL);
    if (!w)
    {
        glfwTerminate();
        return -1;
    }

    glfwMakeContextCurrent(w);

    glewExperimental = true;
    if (glewInit() != GLEW_OK)
    {
        return -1;
    }

    while (!glfwWindowShouldClose(w))
    {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glfwSwapBuffers(w);
        glfwPollEvents();
    }

    glfwTerminate();
    return 0;
}

No Visual Studio, incluo os caminhos da biblioteca para GLFW e GLEW e vinculo (além do material que o VS faz interno) opengl32.lib, glew32s.lib, glfw3.lib, nessa ordem.

Agora, se eu fizer o mesmo no Eclipse CDT, não consigo fazê-lo funcionar. Os seguintes erros ocorrem:

Info: Internal Builder is used for build
g++ "-LD:\\lib\\cpp\\glfw-3.0.1.bin.WIN32\\lib-mingw" "-LD:\\lib\\cpp\\glew-1.10.0binaries\\lib\\Release\\Win32" -o glfwcheck.exe main.o -lopengl32 -lglew32s -lglfw3 
Warning: .drectve `/DEFAULTLIB:"LIBCMT" /DEFAULTLIB:"OLDNAMES" ' unrecognized
D:\lib\cpp\glew-1.10.0binaries\lib\Release\Win32/glew32s.lib(tmp/glew_static/Release/Win32/glew.obj):(.text[__glewInit_GL_VERSION_1_2]+0x4): undefined reference to `_imp__wglGetProcAddress@4'
D:\lib\cpp\glew-1.10.0binaries\lib\Release\Win32/glew32s.lib(tmp/glew_static/Release/Win32/glew.obj):(.text[__glewInit_GL_VERSION_1_3]+0x4): undefined reference to `_imp__wglGetProcAddress@4'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: D:\lib\cpp\glew-1.10.0binaries\lib\Release\Win32/glew32s.lib(tmp/glew_static/Release/Win32/glew.obj): bad reloc address 0x4 in section `.text[__glewInit_GL_VERSION_1_3]'
d:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: final link failed: Invalid operation
collect2.exe: error: ld returned 1 exit status

Claro que tentei mudar a ordem das três bibliotecas, mas isso só piorou ainda mais. (A propósito: acho estranho que eu não possa reproduzir esses erros acima, de modo que eles sejam os únicos quando reorganizo as bibliotecas na ordem inicial. Permaneço com mais de 20 erros até excluir TODAS as bibliotecas , construa e adicione-os novamente.)

Depois de me remexer e examinar as postagens do fórum, percebi que talvez seja um problema com os binários do GLEW e os compilei sozinho com o MinGW. Só que desta vez, recebo todos os erros 'não encontrados'. Não sei como posso vincular estaticamente ao meu GLEW auto-compilado, já que agora não há mais glew32s.lib, mas apenas libglew32.a e libglew32mx.a. Vincular dinamicamente com o glew32 e colocar a dll na pasta do meu projeto também não funcionou.

Sinto como se estivesse fazendo algo muito errado aqui no Eclipse, ou apenas esqueci algumas bibliotecas adicionais (embora uma vez tentei colocar todos os que o VS usa lá também e ainda fiz exatamente a mesma coisa).

Você pode me ajudar? :) Caso contrário, acho que teria que ficar com o VS ou mudar para o Linux + make.

questionAnswers(1)

yourAnswerToTheQuestion