Setting up GLFW with MinGW

Darkwater picture Darkwater · Oct 14, 2012 · Viewed 14.6k times · Source

I'm trying to learn OpenGL with GLFW, but I'm having some problems.

This is my main.cpp:

#include <GL/glfw.h>

int main()
{
    glfwInit();
    glfwSleep( 1.0 );
    glfwTerminate();
}

This is my project's folder structure:

Project
+- glfw.dll
+- main.cpp

This is where I extracted the GLFW files:

MinGW
+- include
|   +- GL
|      +- glfw.h
+- lib
   +- libglfw.a
   +- libglfwdll.a

And this is how I try to build the program:

g++ main.cpp -o main.exe -lglfwdll

And these are the errors I'm getting:

C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0xf): undefined reference to `_glfwInit'
C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0x25): undefined reference to `_glfwSleep'
C:\Users\Dark\AppData\Local\Temp\cc0ZgTVp.o:main.cpp:(.text+0x2a): undefined reference to `_glfwTerminate'
collect2.exe: error: ld returned 1 exit status

Am I missing something?

Answer

chehsunliu picture chehsunliu · Jun 20, 2013

Download the binaries here according to your environment.

Project
+- glfw3.dll (You can put it in System32 or SysWOW64 instead.)
+- main.cpp

MinGW
+- include
|   +- GLFW
|      +- glfw3.h
+- lib
   +- libglfw3.a
   +- libglfw3dll.a (Renamed from glfw3dll.a)

g++ -c main.cpp
g++ -o main.exe main.o -lglfw3dll -lopengl32