Creating Dictionaries OS X

Hi,

I have been having a problem generating a dictionary for a class I created. My code compiles fine without the dictionary definitions. However, when I place the ClassDef in my header file, the ClassImp in my implementation file and generate the appropriate makefile, upon compilation I get the following:

Undefined symbols:
“vtable for TICOOLout”, referenced from:
__ZTV9TICOOLout$non_lazy_ptr in main.o
__ZTV9TICOOLout$non_lazy_ptr in mainwindow.o
__ZTV9TICOOLout$non_lazy_ptr in TICOOLout.o
__ZTV9TICOOLout$non_lazy_ptr in moc_mainwindow.o
"ROOT::GenerateInitInstance(TICOOLout const*)", referenced from:
__static_initialization_and_destruction_0(int, int)in TICOOLout.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

I understand this non_lazy_ptr issue may be unique to MacOS. Does anyone have any thoughts and/or has anyone had problems generating dictionaries using Mac OS 10.6 (Snow Leopard)?

Thanks in advance.

-Jon

Hi,

do you really link the dictionary in? Do its source files contain e.g. ROOT::GenerateInitInstance(TICOOLout const*)? Does compiling the dictionary with -O0 help?

Cheers, Axel.

Hi Alex,

Thanks. I fixed it. I had forgotten the LinkDef.h file. But now everything works well. Thanks for your reply.

-Jon