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