Re: gDirectory, unresolved external

From: Rene Brun (Rene.Brun@cern.ch)
Date: Wed May 26 1999 - 18:37:28 MEST


Hi Chris,
gDirectory is defined in TDirectory.h


R__EXTERN TDirectory   *gDirectory;

On NT, R__EXTERN defines a special linkage parameter used to build the
DLL.
I suggest you look an example in $ROOTSYS/test/Event or stress to see
how
a DLL is built on NT.

Rene Brun

chris garcia wrote:
> 
> hi rooters!!  the last two dll's i have tried to compile have been giving
> me errors on linking, saying:
> 
> error LNK2001: unresolved external symbol
> "class TDirectory *  gDirectory" (?gDirectory@@3PAVTDirectory@@A)
> 
> i have all the libraries in the $rootsys\lib directory included, and i get
> no other unresolvables except for gDirectory (i have extensive use of my
> own classes and TFile, TDirectory, etc.).  where is gDirectory derived
> from, and am i missing that library??
> 
> these are the calls to gDirectory i use:
> 
> checker = gDirectory->cd(cdirname);
> :
> :
> local_current = gDirectory;
> :
> :
> gDirectory->mkdir(cdirname);
> 
> they are all in different functions and don't really make any sense in the
> order i have them above.  these are the only references to gDirectory in my
> code, commenting them out allows the dll to link.  "checker" is of type
> Bool_t, "local_current" is of type TDirectory*, "cdirname" is of type const
> char*.  any ideas??  thanks!!
> "Schrodinger had to take his cat to the vet, or did he?" - unknown
> 
>                                                 chris
> chris garcia
> cdf group, the ohio state university



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:33 MET