the current version of the ROOT GUI classes don't support I/O.
Therefore specify the ClassDef macro like:
ClassDef(MyWindow,0)
so no I/O code (i.e. Streamer() method) will be generated.
Cheers, Fons.
Takeaki Toeda wrote:
>
> Hello ROOTers,
>
> I have a problem with TGTextBuffer in my small graphical
> interface like a http://root.cern.ch/root/hepvis98/newgui.html
>
> Following is essence of my header file
>
> --------------------------------------
> #ifndef MyWindow_h
> #define MyWindow_h
> #include <TGFrame.h>
> #include <TGTextBuffer.h>
> class MyWindow : public TGMainFrame {
> protected:
> TGTextBuffer *fNameBuf;
>
> public:
> MyWindow(const TGWindow *p, UInt_t w, UInt_t h);
> virtual ~MyWindow();
> public:
> ClassDef(MyWindow,1)
> };
> #endif
>
> ---------------------------------------
>
> #ifdef __CINT__
>
> #pragma link off all globals;
> #pragma link off all classes;
> #pragma link off all functions;
>
> #pragma link C++ class MyWindow;
>
> #endif
>
> ---------------------------------------
>
> When a generated source file from rootcint is compiled,
> following error is output
>
> -------------------------------------------
> Generating dictionary
> rootcint RootCint.cc -c MyWindow.h LinkDef.h
> Note: operator new() masked 1c
> Note: operator delete() masked 1c
> g++ -O -Wall -fno-rtti -fPIC -I/opt/root/include -I. RootCint.cc -c
> RootCint.cc: In method `void MyWindow::Streamer(class TBuffer &)':
> RootCint.cc:32: no match for `TBuffer & << TGTextBuffer *&'
> /opt/root/include/TBuffer.h:206: candidates are: TBuffer::operator
> <<(Char_t)
> /opt/root/include/TBuffer.h:316: TBuffer::operator
> <<(UChar_t)
> /opt/root/include/TBuffer.h:215: TBuffer::operator
> <<(Short_t)
> /opt/root/include/TBuffer.h:319: TBuffer::operator
> <<(UShort_t)
> /opt/root/include/TBuffer.h:224: TBuffer::operator
> <<(Int_t)
> /opt/root/include/TBuffer.h:322: TBuffer::operator
> <<(UInt_t)
> /opt/root/include/TBuffer.h:233: TBuffer::operator
> <<(Long_t)
> /opt/root/include/TBuffer.h:325: TBuffer::operator
> <<(ULong_t)
> /opt/root/include/TBuffer.h:242: TBuffer::operator
> <<(Float_t)
> /opt/root/include/TBuffer.h:251: TBuffer::operator
> <<(Double_t)
> /opt/root/include/TBuffer.h:260: TBuffer::operator
> <<(const Char_t *)
> /opt/root/include/TBuffer.h:342: operator <<(TBuffer &,
> const TObject *)
> /opt/root/include/TString.h:314: operator <<(ostream &,
> const TString &)
> gmake: *** [RootCint.o] Error 1
>
> --------------------------------------------------------------
>
> Do you know how to slove this problem?
> Or is this bug?
>
> Thanks,
>
> Take-Aki TOEDA
> Nagoya Univ.
> Nagoya Japan
>
-- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7677910