Re: [ROOT] Error: Symbol TSdaqGuiFactory is not defined in current scope FILE: LINE:0

From: sdean (sdean@hep.man.ac.uk)
Date: Sun Nov 23 2003 - 19:15:48 MET


Hi Rene,

The 'ProcessLineFast' method was recommended to me ages ago as a quick fix 
- please see:

http://root.cern.ch/cgi-bin/print_hit_bold.pl/root/roottalk/roottalk02/1247.html?ProcessLineFast#first_hit

I've checked the TGuiFactory code and it looks like it now has virtual 
member functions. I should be able to develop my code to work as you 
suggest, thanks!

Simon

On Sun, 23 Nov 2003, Rene Brun wrote:

> Hi Simon,
> 
> Why are you doing:
> 
>    gGuiFactory = (TGuiFactory *) gROOT->ProcessLineFast("new> 
> TSdaqGuiFactory();");
> 
> instead of
> 
>    gGuiFactory = new  TSdaqGuiFactory();
> 
> The first form requires your class TSdaqGuifactory to be known by CINT. 
> You must generate a dictionary (via rootcint).
> 
> Why do you need to develop a GuiFactory?
> 
> Rene Brun
> 
> On Sun, 23 Nov 2003, sdean 
> wrote:
> 
> > Hi ROOT-talkers,
> > 
> > I've succesfully built a library called 'libsmt_ped_tools.a' containing 
> > various ROOT-based classes, one of which is called TSdaqGuiFactory 
> > (inherits from TGuiFactory). This library was linked in when I built the 
> > following piece of code:
> > 
> > ==================================================================
> > #include "smt_ped_tools/sdaqbrowser.hpp"
> > 
> > int main(int argc, char **argv){
> > 
> >   TApplication thisapplication("This Application", &argc, argv);
> >   
> >   gGuiFactory = (TGuiFactory *) gROOT->ProcessLineFast("new 
> > TSdaqGuiFactory();");
> >   new TBrowser("Browser","SMT SDAQ Browser",800,600);
> >   
> >   thisapplication.Run();
> >   
> >   return 0;
> > }
> > 
> > ===================================================================
> > (sdaqbrowser.hpp contains the line:
> > 	#include "smt_ped_tools/TSdaqGuiFactory.hpp" )
> > 
> > 
> > However, when I run the resulting binary, I get the errors shown at the 
> > end of this message. Can anyone see what's going wrong? The version of 
> > ROOT being used is v3_05_00b and I'm running in Linux with GCC 3.1.
> > 
> > Thank you all for any help you can send my way,
> > 
> > Simon
> > 
> > 
> > 
> > 
> > 
> > ================= ERROR OUTPUT FOLLOWS =========================
> > 
> > Error: Symbol TSdaqGuiFactory is not defined in current scope  FILE: 
> > LINE:0
> > Error: type TSdaqGuiFactory not defined FILE: LINE:0
> > *** Interpreter error recovered ***
> > 
> >  *** Break *** segmentation violation
> >  Generating stack trace...
> > 
> >  *** Break *** write on a pipe with no one to read it
> > 
> >  *** Break *** write on a pipe with no one to read it
> > 
> >  *** Break *** write on a pipe with no one to read it
> > 
> >  *** Break *** write on a pipe with no one to read it
> >  0x401fc101 in TUnixSystem::StackTrace() + 0x231 from 
> > /D0/ups/root/Linux-2-4/v3_05_00bGCC_3_1-exception-opt-thread/lib/libCore.so
> >  0x401faccf in TUnixSystem::DispatchSignals(ESignals) + 0x11f from 
> > /D0/ups/root/Linux-2-4/v3_05_00bGCC_3_1-exception-opt-thread/lib/libCore.so
> >  0x401f9c66 in <unknown> from 
> > /D0/ups/root/Linux-2-4/v3_05_00bGCC_3_1-exception-opt-thread/lib/libCore.so
> >  0x401fdfde in <unknown> from 
> > /D0/ups/root/Linux-2-4/v3_05_00bGCC_3_1-exception-opt-thread/lib/libCore.so
> >  0x417f44f3 in <unknown> from /lib/libpthread.so.0
> >  0x4182f8b8 in <unknown> from /lib/libc.so.6
> >  0x08048acc in TApplication::TApplication[in-charge](char const*, int*, 
> > char**, void*, int) + 0x284 from ./bin/Linux2.4-GCC_3_1/sdaqbrowser
> >  0x4181d336 in __libc_start_main at 
> > /usr/src/build/133577-i386/BUILD/glibc-2.2.4/csu/../sysdeps/generic/libc-start.c:129 
> > from /lib/libc.so.6
> >  0x08048921 in TBrowser::TBrowser[in-charge](char const*, char const*, 
> > unsigned, unsigned) + 0x49 from ./bin/Linux2.4-GCC_3_1/sdaqbrowser
> > Abort (core dumped)
> > 
> > 
> 



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:17 MET