Re: Can't use TMatrix under NT

Valery Fine (fine@bnl.gov)
Mon, 19 Oct 1998 21:20:06 -0500


On 20 Oct 98 at 8:45,
id o'`a_ ) Ho' wrote:

> Hi rooters
> Thank you for quick reply.
>
> Valery Fine wrote:
>
> > On 19 Oct 98 at 18:08, 舫 Iha wrote:
> >
> > > Dear rooters,
> > >
> > > All files/examples uner "test" subdirectory are to be compiled
> > into the ROOT-based stabd-alone executable files. Most of them
> > (but some "event" macros) are not designed to run from within ROOT
> > interpretred session. It is the "tutirial" directories to keep the
> > bunch of the examples to run with ROOT.
> >
> > To get the examples from the "test" subdirectpry one has to compile
> > it with the "native" (for Windows it is Visual C ++) compiler. For
> > the the Makefile is supplied.
> >
> > Putting all things together.
> >
> > 1. Go to "test" (with "cd test" commend for instansee)
> > 2. type "nmake" in there to start Microsoft maker (it is supposed
> > the VC++ has been installed properly.
> > 3. Get the list of the built executable files (with dir *.exe for
> > example).
> > 4. Launch any of them to check.
>
> I understand. but I don't have a compiler of VC++, and wnat to use
> TMatrix classes under the ROOT.

You can use TNatrix class without any compiler but you can not use
that file from "test" subdirectory directly. However it can be used
as example. To play with this class you have to LOAD the
Root_Matrix.dll first otherwise the objects of TMatrix are unknown
for ROOT.

To load any DLL into ROOT seesion one may apply

gSystem->Load("Root_Matrix")

To check whether the class let's say TMatrix has been registred
type

root [1] .class TMatrix

to get that class description.

Because I'm
> > > 2) also I try to use Aclock but error Messages have apperered,
> > > root [1] gSystem.Load("Aclock")
> > > Warning in <TClass::TClass>: no dictionary for class TWinNTSystem
> > > available Error in <TWinNTSystem::DynamicPathName>: dll does not
> > > exist or wrong file exten
> > >
> > > sion (.dll)
> > > (int)(-1)
> > >
> > > Are there good methods for above ?
> > >
> >
> > Did you check aclock.dll has been built ? I suppose so.
> >
> > There was a bug with gSystem.Load for Windows NT. This bug has been
> > fixed but I am not sure it is included in the official
> > re-destribution. When did you download your version?
> >
> > As a workaround try to supply the full name of the DLL file with
> > ".dll".
> >
> > Send me any question /trouble you meet.
> >
> > Hope this helps,
> > Valery
>
> Befor I wrote ,I don't have the compiler ,only having a GNU complier
> I downloaded from CERN on
> 15/Oct,

Aclock class is an example of the user's derived class. It is not
a part of any ROOT class library at all.
To create this class one does need the native compiler. The reason
for that was present many times on this list. Aclock class is derived
from the ROOT based class. The last means one can not define this
class via CINT interpreter. It must be pre-compiled with the "native"
compiler into DLL to be loaded.

However you should use the compiler used to build ROOT itself
namely Microsoft Visual C++. I doubt gcc may help you.

Hope this helps,
With my best regards,
Valery

> --
> Osamu Fukuda
> from Japan
>
>
=================================================================
Dr. Valeri Faine (Fine)
------------------- Phone: +1 516 344 7806
Brookhaven National Laboratory FAX : +1 516 344 4206
Bldg. 510A /STAR mailto:fine@bnl.gov
Upton, New York, 11973-5000 http://nicewww.cern.ch/~fine
USA

Dr. Valery Fine Telex : 911621 dubna su
-----------
LCTA/Joint Inst.for Nuclear Res. Phone : +7 09621 6 40 80
141980 Dubna, Moscow region Fax : +7 09621 6 51 45
Russia mailto:fine@main1.jinr.dubna.su