Maybe the gurus here know some solution for this problem…
I’m working on a c++ code and want to store a few classes in ROOT trees. I derive my classes from the TObject, create a dictionary with rootcint etc, that works fine.
I run into problems when trying to use a C library , which has a few external variables declared in header files like
Apparently rootcint can not find the implementation file where this variable is initialised.
rootcint -f cavityDict.cxx -c -I…/depend/tinyxml -I…/libbpm cavity.hh
Error: Symbol externlongbpm_rseed is not defined in current scope …/libbpm/bpm/bpm_nr.h:229:
Warning: Error occurred during reading source files
Warning: Error occurred during dictionary source generation
!!!Removing cavityDict.cxx cavityDict.h !!!
Error: rootcint: error loading headers…
make: *** [cavityDict.cxx] Error 1
Interestingly, the error occurs even if none of the class members uses any types or functions declared in the library, it’s enough to just include the header.