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