Hi, I have a stand alone executable generator generated after the following 3 commands
make clean , make dict , make
This was working fine with ROOT version 5.34.10
but with ROOT 5.34.24 it is spitting a lot of the following errors:
…
Main.o: In function __static_initialization_and_destruction_0': /home/admin/100250MHzrootg6y22/nscope_DNAP_TIFR/Main.cpp:161: undefined reference to
ROOTDict::GenerateInitInstance(Main const*)’
AS.o: In function __static_initialization_and_destruction_0': /home/admin/100250MHzrootg6y22/nscope_DNAP_TIFR/AS.cpp:4: undefined reference to
ROOTDict::GenerateInitInstance(AnalogSignal const*)’
Bline.o: In function __static_initialization_and_destruction_0': /home/admin/100250MHzrootg6y22/nscope_DNAP_TIFR/Bline.cpp:3: undefined reference to
ROOTDict::GenerateInitInstance(Baseline const*)’
CFDTrig.o: In function __static_initialization_and_destruction_0': /home/admin/100250MHzrootg6y22/nscope_DNAP_TIFR/CFDTrig.cpp:8: undefined reference to
ROOTDict::GenerateInitInstance(CFDTrigger const*)’
…
nscopeLinkDef.h (1.09 KB)
And the error is indicated on the line where the ClassImp(…class name) is as follows:
Main.cpp line 161 follows:
ClassImp(Main)
…
AS.cpp line 4 follows:
ClassImp(AnalogSignal)
…
Hi,
The dictionary did not get regenerated after you updated ROOT. Please make sure that you delete the output of the “make dict” step (the dictionary).
Cheers, Axel.
Hi Axel, I am sure the dictionary is getting deleted as I run the comand
$make clean
and I have attached the ‘Makefile’ for your inspection.
The normal sequence of compiling is as follows :
- make clean 2. make dict 3. make 4. ./nscope
I am still stuck up. I appreciate your help. Thanks.
Has this been solved? I am having a very similar issue.
Thank you!
Hi,
It’s caused by either the dictionary not being regenerated, or by rootcint/rootcling/genreflex being not the one you compile with (-I - that’s a capital i) and link with (-L).
Cheers, Axel.