Re: Unresolved references when compling with root 2.22.04 on WinNT

From: Valeri Fine (Faine) (fine@bnl.gov)
Date: Tue Jun 08 1999 - 02:32:20 MEST


> Hi rooters,
> I am compling a dictionary with the recent development version
> 2.22.04 of root on WinNT and the linker complains about
> unresolved references(TBuffer::WriteVersion and TBuffer::ReadVersion).
> The very same code compiles fine with
> the previous release (2.21.08)! I can't figure out what the problem is.
> (I made sure that only the correct version of all .dll's and .lib's are on
> the compilers
> search path and the /test examples complied and linked without problems...
> I also checked if there are any changes in the makefile of the \test
> examples but couldn't find any different
> complier/linker settings compared to the predecessor version.).
>
> The error message displayed by VC5 is:
>
> TDbaTsDict.obj : error LNK2001: unresolved external symbol

    "public: void __thiscall TBuffer::WriteVersion(class TClass const *)"


> (?WriteVersion@TBuffer@@QAEXPBVTClass@@@Z)
> TDbaTsDict.obj : error LNK2001: unresolved external symbol

      "public: short __thiscall TBuffer::ReadVersion(void)"

 (?ReadVersion@TBuffer@@QAEFXZ)
> libDbaTs.dll : fatal error LNK1120: 2 unresolved externals
>
> Any hint on what went wrong is greatly appreciated.....
>

   This means your code does call (look for) methods

        Version_t ReadVersion();
        void      WriteVersion(const TClass *cl);

  Very this way these methods were defined with the previous version of
ROOT.

  The new version has ANOTHER definition for those methods, namely:


     Version_t ReadVersion(UInt_t *start = 0, UInt_t *bcnt = 0);
     UInt_t    WriteVersion(const TClass *cl, Bool_t useBcnt = kFALSE);


  Apparently the OBJECT module of your class still contains an obsolete
staff.
  The ONLY explanation that module WAS compiled with the OLD header files
supplied.
  I paid attention you was talking about "lib" DLL's etc. but didn't mention
ROOT
  header files.

  Please, check your env once again.

  Hope this helps,
                                    Valery



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