Dunque...questa qui sembra essere compilabile.
Ma ovviamente la dichiarazione dei membri static la rende tutt'altro che una libreria...
In particolare la funzione display e quella della keyborad non puo' essere static...


codice:
#include <windows.h>
 #include <GL/glut.h>
 #include <stdio.h>
 #include <stdlib.h>


class MHwindow
{
  private: 
         int width;
         int height;
         //*char title;
  public:
         MHwindow(int, int);
         int getWidth();         
         int getHeight(); 
         static void init();
         static void display();
         static void reshape(int, int);    		
      	 static void keyboard(unsigned char, int, int);
        } ;


int MHwindow::getWidth(){return width;}
int MHwindow::getHeight(){return height;}
MHwindow::MHwindow(int w, int h)  
{
width = w;
height = h;
}

void MHwindow::display()
{
   glClear ( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
   glPushMatrix ( );
   glPopMatrix  ( );
   glutSwapBuffers ( );
}

void MHwindow::reshape(int w, int h)
{
   glViewport     ( 0, 0, w, h );
   glMatrixMode   ( GL_PROJECTION );
   glLoadIdentity ( );
   if ( h==0 )
      gluPerspective ( 80, ( float ) w, 1.0, 5000.0 );
   else
      gluPerspective ( 80, ( float ) w / ( float ) h, 1.0, 5000.0 );
   glMatrixMode   ( GL_MODELVIEW );
   glLoadIdentity ( );

}

void MHwindow::keyboard ( unsigned char key, int x, int y )
{
   switch ( key ) {
      case 27:  /*  Escape key  */
         exit ( 0 );
         break;
      case 'f':
         glutFullScreen ( );
         break;
      case 'w':
         glutReshapeWindow ( 100,100 );
         break;
      default:
         break;
   }
}

/*  Main Loop
 *  Open window with initial window size, title bar,
 *  RGBA display mode, and handle input events.
 */
 
 
MHwindow MHgui(100,100); 
 
int main ( int argc, char** argv )
{
   
   glutInit ( &argc, argv );
   glutInitDisplayMode ( GLUT_RGB | GLUT_DOUBLE );
   glutInitWindowSize  ( MHgui.getWidth(),MHgui.getHeight() );
   glutCreateWindow    ( "pippo" );
   glEnable     ( GL_DEPTH_TEST );
   glClearColor ( 0.0, 0.0, 0.0, 0.0 );
   glutReshapeFunc     ( MHgui.reshape  );
   glutKeyboardFunc    ( MHgui.keyboard );
   glutDisplayFunc     ( MHgui.display  );
   glutMainLoop        ( );
   return 0;
}