Hello, Armin This sounds your DLL doesn't contain any Root/CINT dictionary. I do not think you faced any Windows feature at this point. I am sorry I have not replied your previous message. That indicated you failed to create the dictionary properly. This is why you can not access your class just you load your DLL. I guess one may not disregard the Rootcint "warning" you got " During dictionary generation I get some warnings about Datamembers being pointers to fundamental types and thus cint does not know their size but since I don't need the streamers for the classes I don't really care I ..." I hope Fons can comment that . Valeri ----- Original Message ----- From: "Armin Reichold" <a.reichold1@physics.ox.ac.uk> To: "'Nick van Eijndhoven'" <Nick@phys.uu.nl> Cc: "'Valeri Fine'" <fine@bnl.gov>; <roottalk@pcroot.cern.ch> Sent: Friday, June 15, 2001 7:44 AM Subject: RE: [ROOT] loading a shared library but not being able to use the classes init > Hi Nick, > thanks for your attempt to help but your solution does not work. > I can load the dll with either .L or gSystem->Load but the class is never > available after loading. > I suspect this to be a windows speciality but I depend on running this code > in windows, there is no way I can move away from this platform due to > external constraints. > > cheers Armin > > ************************************************* > * Dr. Armin Reichold | private: * > * Research Officer | 17 Frys Hill * > * University of Oxford | Oxford * > * Particle & Nuclear Phys. Lab. | OX4 7GW * > * 1 Keble Road | UK * > * Oxford OX1 3RH * > * UK * > * Room 612 * > * * > * Tel. : +44-(0)1865-273358...(office) * > * Tel. : +44-(0)1865-434856...(private) * > * Mobile: +44-(0)7930-431102...(emergency only) * > * Fax. : +44-(0)1865-273418...(office) * > * E-Mail: a.reichold1@physics.ox.ac.uk * > * Netmeeting: ppnt67.physics.ox.ac.uk (business)* > * ---//--- Dir. Server: webnt.physics.ox.ac.uk * > ************************************************* > > > -----Original Message----- > From: Nick van Eijndhoven [mailto:Nick@phys.uu.nl] > Sent: Friday, June 15, 2001 8:16 AM > To: Armin Reichold > Cc: 'Valeri Fine'; roottalk@pcroot.cern.ch > Subject: Re: [ROOT] loading a shared library but not being able to use > the classes init > > > Hi Armin, > Instead of .L mylibrary.dll use gSystem->Load("mylibrary"). > This should load your classes correctly. > > Cheers, > Nick. > > -- > Dr. Nick van Eijndhoven mailto:nick@phys.uu.nl http://www.phys.uu.nl/~nick > -------------------------------------------------------------------------- > Org.: Utrecht University/Nikhef, Department of Subatomic Physics > Address: P.O. Box 80.000, NL-3508 TA Utrecht, The Netherlands > Phone: +31-30-2532331(direct) +31-30-2531492(secr.) Fax: +31-30-2518689 > NIKHEF: +31-20-5922178(direct) +31-20-5922000(secr.) Fax: +31-20-5925155 > CERN: +41-22-7679751(direct) +41-22-7675857(secr.) Fax: +41-22-7679480 > Offices: Buys Ballot lab. 710 (Utrecht) N241 (Nikhef) B23 1-020 (CERN) > -------------------------------------------------------------------------- > > > Armin Reichold wrote: > > > > Dear Rooter and Valerie > > I am using ROOT 3.01.05 on windows 2000. > > I have a set of classes I would like to use in root > > I generate a dictionary for them like this: > > > > rootcint -f MyDictionary.cxx MyClass1.h ..... MyClassN.h linkdef.h > > > > During dictionary generation I get some warnings about Datamembers being > > pointers to fundamental types and thus cint does not know their size but > > since I don't need the streamers for the classes I don't really care I > > think. > > > > my linkdef.h looks like this: > > ==================================== > > #ifdef __CINT__ > > > > #pragma ling off all globals; > > #pragma ling off all classes; > > #pragma ling off all functions; > > > > #pragma link C++ class MyClass1; > > ..... > > #pragma link C++ class MyClassN; > > > > #endif > > ==================================== > > > > I have compiled the classes into a dll (developer studio 6) wich I load > into > > an interactive root session with .L mylibrary.dll > > I then try to use them and root complains that it does not know them like: > > class, stuct, union or type MyClass1 not defined > > Same error occurs if I try: .class MyClass1 > > > > However if I load the dll again it says: > > warning in <Add>: class MyClass1 allready in in TClassTable > > > > Note: > > starting root I do get a funny message which says: > > Warning in <TWinNTSystem::setProgname>: wrong Program Path > > maybe that has something to do with my problems > > > > Valerie: > > this seems to be related to one of your latest messages to roottalk about > > loading dll's under windows but I am not realy sure. > > > > thansk for any help, > > cheers Armin > > > > ************************************************* > > * Dr. Armin Reichold | private: * > > * Research Officer | 17 Frys Hill * > > * University of Oxford | Oxford * > > * Particle & Nuclear Phys. Lab. | OX4 7GW * > > * 1 Keble Road | UK * > > * Oxford OX1 3RH * > > * UK * > > * Room 612 * > > * * > > * Tel. : +44-(0)1865-273358...(office) * > > * Tel. : +44-(0)1865-434856...(private) * > > * Mobile: +44-(0)7930-431102...(emergency only) * > > * Fax. : +44-(0)1865-273418...(office) * > > * E-Mail: a.reichold1@physics.ox.ac.uk * > > * Netmeeting: ppnt67.physics.ox.ac.uk (business)* > > * ---//--- Dir. Server: webnt.physics.ox.ac.uk * > > ************************************************* > > > >
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:49 MET