compiling and inheriting from TAttLine on Win32

From: Reinhard Schwienhorst (schwier@mnhep1.hep.umn.edu)
Date: Thu Sep 02 1999 - 19:28:36 MEST


Hi,
I am trying to inherit from the TPolyLine3D class to create an emulsion
track for the DONUT experiment (Fermilab E872).
I get a message from the lib command on my Windows NT machine that says

libE872Graphics.def : warning LNK4102: export of deleting destructor
"[thunk]:pu
blic: virtual void * __thiscall TGraphicsEmTrack::`vector deleting
destructor'`a
djustor{12}' (unsigned int)"; image may not run correctly

I tried to find the source of the problem and found out that I get the
same message when I try to make a very simple inheritance:
Here is my TGraphicsEmTrack.h file:

#include "TObject.h"
#include "TAttLine.h"

class TGraphicsEmTrack : public TObject,public TAttLine {

private:

public:
  TGraphicsEmTrack() {}                      // default constructor
  virtual ~TGraphicsEmTrack() {}             // default destructor

  ClassDef(TGraphicsEmTrack,1)  //An emulsion track
    };

Here is the output when I compile:

bash.exe-2.02$ nmake

Microsoft (R) Program Maintenance Utility   Version 1.62.7022
Copyright (C) Microsoft Corp 1988-1997. All rights reserved.

        cl /nologo -DWIN32  -D_WIN32 -D_MT -D_DLL -MD /O2 /G5 /MD
-DWIN32 -DVISUAL_CPLUSPLUS -D_WINDOWS -Id:\cern\root/include -c
TGraphicsEmTrack.cxx
TGraphicsEmTrack.cxx
"Generating dictionary E872GraphicsDict..."
Note: operator new() masked 1c
Note: operator delete() masked 1c
        cl /nologo -DWIN32  -D_WIN32 -D_MT -D_DLL -MD /O2 /G5 /MD
-DWIN32 -DVISUAL_CPLUSPLUS -D_WINDOWS -Id:\cern\root/include -c
E872GraphicsDict.cxx
E872GraphicsDict.cxx
        BINDEXPLIB  libE872Graphics TGraphicsEmTrack.obj
E872GraphicsDict.obj >
 libE872Graphics.def
        lib /nologo /MACHINE:IX86 TGraphicsEmTrack.obj
E872GraphicsDict.obj /def:libE872Graphics.def /out:libE872Graphics.lib
libE872Graphics.def : warning LNK4102: export of deleting destructor
"[thunk]:public: virtual void * __thiscall TGraphicsEmTrack::`vector
deleting destructor'`adjustor{12}' (unsigned int)"; image may not run
correctly
   Creating library libE872Graphics.lib and object libE872Graphics.exp
        link /NODEFAULTLIB /INCREMENTAL:NO  /RELEASE /NOLOGO
-entry:_DllMainCRTStartup@12 -dll libE872Graphics.exp
d:\cern\root/lib/*.lib msvcrt.lib oldnames.lib kernel32.lib  ws2_32.lib
mswsock.lib advapi32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib
MSVCIRT.LIB  TGraphicsEmTrack.obj  E872GraphicsDict.obj
/out:libE872Graphics.dll
bash.exe-2.02$

On a Linux system, the same routines compile without any warnings.
Can anybody tell me what is going on?
It seems to have something to do with TAttLine.h.

Sincerely,
Reinhard Schwienhorst



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