This is the mail archive of the cygwin@sourceware.cygnus.com
mailing list for the Cygwin project. See the Cygwin
home page for more information.
RE: DLL's and templates
- To: "Schaible, Joerg" <Joerg.Schaible@gft.de>, "'cygwin-list'" <cygwin@sourceware.cygnus.com>
- Subject: RE: DLL's and templates
- From: "Brimhall, GeoffreyX L" <geoffreyx.l.brimhall@intel.com>
- Date: Thu, 6 May 1999 09:17:47 -0700
You're not using the template invocation correctly:
static B b; // Incorrect, based on the example you gave.
// Compiler should have not even allowed the
// linkage stage, so you're definately missing
// something in your code example !
It needs something like this:
class C
{
int m_dummy;
};
static B<C> b; // This is correct.
My suspicion is the C class, which you left out, has some virtual functions
in it which you have not filled out ?
-----Original Message-----
From: Schaible, Joerg [mailto:Joerg.Schaible@gft.de]
Sent: Thursday, May 06, 1999 12:13 AM
To: 'cygwin-list'
Subject: DLL's and templates
Hello,
currently I am trying to link my own first DLL (Mumits samples worked quite
well), but I got unresolved externals for the vtable of all template classes
used within my DLL. Typically following code:
// header.h
class __declspec(dllexport) A
{
public:
A() {}
virtual ~A() {}
};
template <class X>
class B : public A
{
public:
B() {}
virtual ~B() {}
};
// module.cxx
static B b;
Compiling and linking the DLL I will have an unresolved external vor the
vtable of B or for inlined virtual destructors. B is not necessarily
exported.
Original error messages:
..\egcs112\rel\gwbase\sh\gwstrsb.o(.text+0x2ba3):gwstrsb.cc: undefined
reference to `GwSingletonClass<GwMemoryCluster>::~GwSingletonClass(void)'
..\egcs112\rel\gwbase\sh\gwstrwc.o(.text$__t13GwTMemoryPool1Z13GwWCStringImp
i+0x6b):gwstrwc.cc: undefined reference to `GwTMemoryPool<GwWCStringImp>
virtual table'
Greetings Jörg
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com