The output of glewinfo indicates that GL_ARB_separate_shader_objects is missing, which I expected, as I ran the code on a machine with a GeForce Go 7950 GTX with an OpenGL version of 2.1.2. I am fully aware that this card will not come anywhere close to running OpenGL 4.1 code on my machine. (I have ordered a Fermi GTX 460 for another desktop machine, so I do expect to be able to run this code once I install it with the GeForce/ION Release 260.63 beta drivers.)

At the moment, I am simply interested in compilation, and I will solve runtime issues later. So my question is, does GLEW work in such a way that if it detects you don't have an extension, it will fail to link on functions you "don't have"? As I understand it, the normal way to use GLEW is to include glew.h and link against glew32.lib. (And glew32.lib should contain the object code for a function like glProgramPipelines(), no?) I am just curious about that. It doesn't really affect me, as I expect a Fermi soon, but it would be good to know.

In any case, I tried putting glew.c in the project and defining GLEW_STATIC, which worked just fine.

Thanks for answering my questions/curious bits. This resolves my compilation issue.