# Undefined references when compiling using MinGW

**URL:** <https://discourse.glfw.org/t/undefined-references-when-compiling-using-mingw/580>\
**Category:** support\
**Created:** [June 16, 2013, 9:09am UTC](https://discourse.glfw.org/t/undefined-references-when-compiling-using-mingw/580 "2013-06-16T09:09:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [June 16, 2013, 9:09am UTC](https://discourse.glfw.org/t/undefined-references-when-compiling-using-mingw/580/1 "2013-06-16T09:09:15Z")

</div>

**[mrsimb](https://sourceforge.net/u/mrsimb/)** wrote on [Sunday, June 16, 2013](https://sourceforge.net/p/glfw/discussion/247562/thread/9053199c/#7248):

Hello. I can’t compile a simple program.

```
#include <GLFW/glfw3.h>

void render();

int main(int argc, char **argv)
{
    GLFWwindow* window;
    glfwInit();
    window=glfwCreateWindow(640, 480, "Test", NULL, NULL);
    glfwMakeContextCurrent(window);
    
    while(!glfwWindowShouldClose(window))
    {
        render();
        glfwSwapBuffers(window);
        glfwPollEvents();
    }
    
    glfwTerminate();
    return 0;
}

void render()
{
    glClear(GL_COLOR_BUFFER_BIT);
    
    glBegin(GL_TRIANGLES);
    glColor3f(0.0f, 1.0f, 0.0f);
    glVertex2f(-1.0f, 0.0f);
    glVertex2f(0.0f, 1.0f);
    glVertex2f(1.0f, 0.0f);
    glEnd();
}

```

Mingw shell input:

```
mingw32-g++ main.cpp -o test.exe -I C:/Programming/GLFW3/include -L C:/Programming/GLFW3/lib-mingw -lmingw32 -lglfw3 -lopengl32

```

MinGW shell output:

```
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_monitor.c.obj):win32_monitor.c:(.text+0x30a): undefined reference to `_imp__CreateDCW@16'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_monitor.c.obj):win32_monitor.c:(.text+0x356): undefined reference to `_imp__GetDeviceCaps@8'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_monitor.c.obj):win32_monitor.c:(.text+0x3a2): undefined reference to `_imp__DeleteDC@4'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_gamma.c.obj):win32_gamma.c:(.text+0x7b): undefined reference to `_imp__CreateDCW@16'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_gamma.c.obj):win32_gamma.c:(.text+0x91): undefined reference to `_imp__GetDeviceGammaRamp@8'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_gamma.c.obj):win32_gamma.c:(.text+0x9d): undefined reference to `_imp__DeleteDC@4'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_gamma.c.obj):win32_gamma.c:(.text+0x35b): undefined reference to `_imp__CreateDCW@16'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_gamma.c.obj):win32_gamma.c:(.text+0x36d): undefined reference to `_imp__SetDeviceGammaRamp@8'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(win32_gamma.c.obj):win32_gamma.c:(.text+0x379): undefined reference to `_imp__DeleteDC@4'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0xeb): undefined reference to `_imp__DescribePixelFormat@16'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0x939): undefined reference to `_imp__DescribePixelFormat@16'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0xa70): undefined reference to `_imp__DescribePixelFormat@16'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0xa92): undefined reference to `_imp__SetPixelFormat@12'
C:/Programming/GLFW3/lib-mingw/libglfw3.a(wgl_context.c.obj):wgl_context.c:(.text+0x1522): undefined reference to `_imp__SwapBuffers@4'
collect2.exe: error: ld returned 1 exit status
```

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [June 16, 2013, 9:12am UTC](https://discourse.glfw.org/t/undefined-references-when-compiling-using-mingw/580/2 "2013-06-16T09:12:39Z")

</div>

**[mrsimb](https://sourceforge.net/u/mrsimb/)** wrote on [Sunday, June 16, 2013](https://sourceforge.net/p/glfw/discussion/247562/thread/9053199c/#0aef):

Sorry for the horrible formatting, I don’t know why the text has turned a large size and has been cropped.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [June 16, 2013, 9:39am UTC](https://discourse.glfw.org/t/undefined-references-when-compiling-using-mingw/580/3 "2013-06-16T09:39:33Z")

</div>

**[elmindreda](https://sourceforge.net/u/elmindreda/)** wrote on [Sunday, June 16, 2013](https://sourceforge.net/p/glfw/discussion/247562/thread/9053199c/#ee9c):

You are using an old version of MinGW. You need to manually link against gdi32.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [June 16, 2013, 10:36am UTC](https://discourse.glfw.org/t/undefined-references-when-compiling-using-mingw/580/4 "2013-06-16T10:36:44Z")

</div>

**[mrsimb](https://sourceforge.net/u/mrsimb/)** wrote on [Sunday, June 16, 2013](https://sourceforge.net/p/glfw/discussion/247562/thread/9053199c/#ee9c/72de):

Thank you very much.

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/glfw/original/1X/b8cdefe6b61b8d5aee6c43b2c56e9cf5eabecfe4.svg) [@system](https://discourse.glfw.org/u/system)\
**Post date:** [June 17, 2013, 9:20pm UTC](https://discourse.glfw.org/t/undefined-references-when-compiling-using-mingw/580/5 "2013-06-17T21:20:03Z")

</div>

**[hburd](https://sourceforge.net/u/hburd/)** wrote on [Monday, June 17, 2013](https://sourceforge.net/p/glfw/discussion/247562/thread/9053199c/#050a):

Yes thank you it worked for me as well
