(This isn't 100% accurate but it gets the point across)
You wouldn't be trying to develop for a newer version of OpenGL are you?
Trying to access new features, or maybe just worried about performance?
It's the new version
_development libraries_ you want isn't it?
Well my friend it's GLEW you want!
http://glew.sourceforge.net/
This is a library that gives you entry points into the newer features of OpenGL such as the functions:
glEnableClientState, glVertexPointer
OpenGL itself is a specification to render fancy graphics to a video card.
There are different implementations to it such as MESA, nVidia's OpenGL, ATI OpenGL, Microsoft OpenGL. Some of these such as MESA, are
_software_ implementations. They do 3D rendering completely on your computer and do not take advantage of your fancy video card at all. Others like the nVidia, will take full advantage of the video card, the nVidia drivers will access the specific video card model and hand off the processing to it.
Okay, easy enough right. Now why do you keep seeing MESA pop up, and why is your program so sloooow?
on your computer you'll see windows/opengl32.dll, i believe this is the Microsoft _software_ implementation. Slow and it's probably the OpenGL 1.1 specification. It wont have any new functionality at all. Somewhere else you'll have a opengl.dll that comes from nVidia, this is the one you want.. but
when you link opengl32.lib (microsoft visual c++) to your program, you are linking a static library, that accesses the dynamic library(opengl32.dll) that is the microsoft implementation. You don't want to do this. You want to link against a static library that will access the more modern opengl32.dll.
GLEW is a multiplatform library written by opensource people, that will allow you to access new OpenGL features on any platform.
You want to download and copy the .DLL filse to /windows/system32
the library and include files to their respective folder in your compiler.
Are you using Visual C++?