Re: [ROOT] loading a shared library but not being able to use the classes in it

From: Valeri Fine (fine@bnl.gov)
Date: Fri Jun 15 2001 - 20:15:21 MEST


Hello, Nick

I fixed recently  a few problems for Windows version of ROOT (3.01/05) and
made
some "experimental" distribution with InstallShield.
It does set the Windows registry and edit autoexec.bat file as well.
It can be uninstalled from the Windows "Control Panel"

I did test and it works under NT . I had no chance yet to test this under
Win9x
I appreciate you try that from
/afs/cern.ch/user/f/fine/public/root/ROOTProject.exe
 (Don't forget to backup your autoexec.bat ;-)

  Valeri

----- Original Message -----
From: "Armin Reichold" <a.reichold1@physics.ox.ac.uk>
To: "'Valeri Fine'" <fine@bnl.gov>
Cc: <roottalk@pcroot.cern.ch>
Sent: Thursday, June 14, 2001 11:36 AM
Subject: [ROOT] loading a shared library but not being able to use the
classes in it


> 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