Hi Marc,
If you don't have a LinkDef.h you can still load the autodict (with
aclic complied code)
just at the top of your source file do
#include "blah.h"
#ifdef __CINT__
#pragma link C++ class std::pair<std::string, std::string>;
#endif
int main() {
}
Or if you use a Makefile you need a couple of rules to generate/compile the relevant dictionaries (for example I have a couple below)
# Rule to create the dictionary
$(DICTFILE): $(HLIST) $(DICTLDEF)
@echo "azdpd --> Generating dictionary $@"
@$(shell root-config --exec-prefix)/bin/rootcint -f $(DICTFILE) -c
-p $(INCLUDES) $^
# Rule to compile the dictionary
$(DICTOBJ): $(DICTFILE)
@echo "azdpd --> Compiling $<"
@mkdir -p $(OBJDIR)
$(CXX) $(CXXFLAGS) -g -O2 -c $(INCLUDES) -o $@ $<
Marcelo Zimbres wrote:
> Hi Marc, > > are you compiling your code with a Makefile or using aclic? If you are > using a Makefile you should not forget to generate the dictionaries > from you class header file using rootcint. If you are using aclic the > dictionaries should be generated automatically. > > But from the warning lines you sent, it seems you are not loading the > appropriate shared libs(the one containing the dictionaries) when you > try to read a root file containing the objects in question. > > Can you send us more information? > > Cheers > Marcelo > > 2011/9/28 Marc Escalier <escalier_at_lal.in2p3.fr > <mailto:escalier_at_lal.in2p3.fr>> > > thanks Venkat > > actually, i have no file "LinkDef.h" in my program > > would you have an idea ? > > just for information, my program is a compiled one, with the main > code being a class that inheritate from TSelector, after having > used MakeSelector() to create it > > ====================== > > > On Wed, 28 Sep 2011, Venkatesh Kaushik wrote: > > Hi Marc, > For the second warning, you need to include > in your LinkDef.h the following: > #pragma link C++ class std::pair<std::string, std::string>; > > The first one is (I think ATLAS specific and no dictionary > is available). > - Venkat > > Marc Escalier wrote: > > Hello, > > would somebody know what is the meaning of : > > Warning in <TClass::TClass>: no dictionary for class > AttributeListLayout is available > Warning in <TClass::TClass>: no dictionary for class > pair<string,string> is available > > thanks > > > > -- > ========================================================= > Venkatesh Kaushik > Research Associate > > University of Arizona ATLAS Experiment_at_CERN > Office: PAS 334 40-1-C11 > Tucson, Arizona Gen?ve, Switzerland > > Tel: +1 520 626 7042 <tel:%2B1%20520%20626%207042> > +41 22 76 79137 <tel:%2B41%2022%2076%2079137> > venkat_at_physics.arizona.edu <mailto:venkat_at_physics.arizona.edu> > venkat.kaushik_at_cern.ch <mailto:venkat.kaushik_at_cern.ch> > http://atlas.physics.arizona.edu/~venkat > <http://atlas.physics.arizona.edu/%7Evenkat> > ========================================================= > > > >
-- ========================================================= Venkatesh Kaushik Research Associate University of Arizona ATLAS Experiment_at_CERN Office: PAS 334 40-1-C11 Tucson, Arizona Genève, Switzerland Tel: +1 520 626 7042 +41 22 76 79137 venkat_at_physics.arizona.edu venkat.kaushik_at_cern.ch http://atlas.physics.arizona.edu/~venkat =========================================================Received on Wed Sep 28 2011 - 20:57:01 CEST
This archive was generated by hypermail 2.2.0 : Wed Sep 28 2011 - 23:50:01 CEST