Re: [ROOT] Running MakeSelector code in standalone program

From: Rene Brun (Rene.Brun@cern.ch)
Date: Tue Nov 18 2003 - 11:08:56 MET


Hi Frank,

The code generated by MakeSelector is assumed to be run from an interactive
or batch root session running under a TApplication.
In your case, you can run in a standalone program. In this case, remove
teh line ClassDef(selector,0) from selector.h.
To generate an executable module, you must compile selector.C, like:

gcc `root-config --cflags --libs` selector.C program.C -o program.exe

Rene Brun

Frank Winklmeier wrote:
> 
> Hi,
> 
> I am trying to run a class which was originally produced by MakeSelector()
> in a standalone program. The program looks like this:
> 
> #include "selector.h"
> 
> int main(int argc, char **argv) {
> 
>   selector *sel = new selector();
> 
> }
> 
> The selector.C and .h file are like they have been produced by
> MakeSelector() without any changes.
> When I am trying to compile with:
> 
> gcc `root-config --cflags --libs` program.C
> 
> it produces the following error:
> 
> /tmp/ccThcUXm.o(.gnu.linkonce.t._ZN8selectorC1EP5TTree+0x19): In function
> `selector::selector[in-charge](TTree*)':
> : undefined reference to `vtable for selector'
> collect2: ld returned 1 exit status
> 
> Does anyone know what this message means? I am using RooT 3.10-01 on RH9.
> 
> Thanks, Frank



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