title: GLFW3 Error - "WGL: Failed to find a suitable pixel format"
body: <p>I'm trying to get GLFW3 working on my Windows 8 machine with MinGW, but with little success. I have this test program copied straight from the GLFW documentation (with a bit of editing to make it work with the shared library) that I'm trying to run:</p>
  
  <pre><code>#define GLFW_DLL
  
  #include &lt;GLFW/glfw3.h&gt;
  #include &lt;stdlib.h&gt;
  #include &lt;stdio.h&gt;
  
  static void error_callback(int error, const char* description)
  {
      fputs(description, stderr);
  }
  
  static void key_callback(GLFWwindow* window, int key, int scancode, int action, int mods)
  {
      if (key == GLFW_KEY_ESCAPE &amp;&amp; action == GLFW_PRESS)
          glfwSetWindowShouldClose(window, GL_TRUE);
  }
  
  int main(void)
  {
      GLFWwindow* window;
      glfwSetErrorCallback(error_callback);
      if (!glfwInit())
          exit(EXIT_FAILURE);
      window = glfwCreateWindow(640, 480, "Simple example", NULL, NULL);
      if (!window)
      {
          glfwTerminate();
          exit(EXIT_FAILURE);
      }
      glfwMakeContextCurrent(window);
      glfwSetKeyCallback(window, key_callback);
      while (!glfwWindowShouldClose(window))
      {
          float ratio;
          int width, height;
          glfwGetFramebufferSize(window, &amp;width, &amp;height);
          ratio = width / (float) height;
          glViewport(0, 0, width, height);
          glClear(GL_COLOR_BUFFER_BIT);
          glMatrixMode(GL_PROJECTION);
          glLoadIdentity();
          glOrtho(-ratio, ratio, -1.f, 1.f, 1.f, -1.f);
          glMatrixMode(GL_MODELVIEW);
          glLoadIdentity();
          glRotatef((float) glfwGetTime() * 50.f, 0.f, 0.f, 1.f);
          glBegin(GL_TRIANGLES);
          glColor3f(1.f, 0.f, 0.f);
          glVertex3f(-0.6f, -0.4f, 0.f);
          glColor3f(0.f, 1.f, 0.f);
          glVertex3f(0.6f, -0.4f, 0.f);
          glColor3f(0.f, 0.f, 1.f);
          glVertex3f(0.f, 0.6f, 0.f);
          glEnd();
          glfwSwapBuffers(window);
          glfwPollEvents();
      }
      glfwDestroyWindow(window);
      glfwTerminate();
      exit(EXIT_SUCCESS);
  }
  </code></pre>
  
  <p>Like I said, I compiled GLFW as a shared library, and I have the glfw3.dll file in the same folder as the rest of my code. It compiles fine, but when I run the program I get a "WGL: Failed to find a suitable pixel format" error. Apparently, this can have to do with video card drivers, but I've updated mine, and I still get the same error.
  It might help to know that I have an Nvidia 720M and an Intel HD Graphics 4000 card, with Optimus switching between the two. I tried running the program with both of them and got the same error.</p>
  
  <p>EDIT: I should probably also show you how I'm building it</p>
  
  <pre><code>gl-test: main.c
      gcc -o gl-test main.c -lopengl32 -lglfw3dll
  </code></pre>