> >Read /usr/doc/gcc/README.Debian . > I did but was still confused :(
>> Being naive enough to try anything, and having heard of all sorts of >> problems with egcs and g++, I decided to scrap g++2.8 and put g++2.7.2 on. >> (I had egcs 2.90.29, dated 19980515). > >g++2.7.2 is intended only for compiling code that cannot be compiled with >EGCS gcc. It's not supposed to be easy to install or use. > >> is v using some >> non-standard c++ shit that breaks on 'modern' compilers? > >That's more likely. > >> I suspect egcs > >EGCS has proven itself to be a very good C++ compiler so far. > OK - then I'd like to understand the error message that came up ('Invalid storage class specifier in friend function declarations'). Here's the code up to the friend functions decls. where the aforementioned error message is generated: //=============================================================== // vglcnv.h GL Canvas C++ class .h file - X11R5 // // Copyright (C) 1995,1996 Bruce E. Wampler // // This file is part of the V C++ GUI Framework, and is covered // under the terms of the GNU Library General Public License, // Version 2. This library has NO WARRANTY. See the source file // vapp.cxx for more complete information about license terms. //=============================================================== #ifndef VGLCNV_H #define VGLCNV_H #include <v/vapp.h> #include <v/vcanvas.h> // extern "C" { // static void CGLKeyInEV(Widget w, XtPointer client_data, XEvent* event, char *x); // // OpenGL stuff here // void CgraphicsInit(Widget w, XtPointer clientData, XtPointer call); // #include <X11/GLw/GLwDrawA.h> // Xt OpenGL drawing area widget. #include <GL/gl.h> #include <GL/glu.h> #include <GL/glx.h> // } // const unsigned int vGL_Default = 0; const unsigned int vGL_RGB = 0x0001; const unsigned int vGL_Alpha = 0x0002; const unsigned int vGL_Indexed = 0x0004; const unsigned int vGL_DoubleBuffer = 0x0008; const unsigned int vGL_Stereo = 0x0010; const unsigned int vGL_Stencil = 0x0020; const unsigned int vGL_Accum = 0x0040; const unsigned int vGL_Depth = 0x0080; // class vWindow; // we are part of a window // class vBaseGLCanvasPane : public vCanvasPane { // friend void CgraphicsInit(Widget w, XtPointer clientData, XtPointer call); friend static void CGLKeyInEV(Widget w, XtPointer client_data, XEvent* event, char *x); //the two functions here cause the problem with egcs! (etc.) ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com