www.digitalmars.com         C & C++   DMDScript  

c++.windows - DLL Problem

reply "=?iso-8859-1?Q?Robert_M._M=FCnch?=" <robert.muench robertmuench.de> writes:
Hi, I made some further steps WRT to getting a DLL compiled with DMC. Here  
are the current error messages:

---
mkstorage.h(567) : Error: return type of overriding function  
'e4_StorageImpl::DRV_Commit' differs fr
om that of 'e4_MetakitStorageImpl::DRV_Commit'
It was declared as: bool (__export member func)()
It is now declared: int member func()
     virtual bool DRV_IsValid() const;
                                     ^
mkstorage.h(568) : Error: return type of overriding function  
'e4_StorageImpl::DRV_IsValid' differs f
rom that of 'e4_MetakitStorageImpl::DRV_IsValid'
It was declared as: bool (__export member func)()const
It is now declared: int member func()const
     virtual bool DRV_SetRootNodeID(int nodeID);
                                               ^
mkstorage.h(569) : Error: return type of overriding function  
'e4_StorageImpl::DRV_SetRootNodeID' dif
fers from that of 'e4_MetakitStorageImpl::DRV_SetRootNodeID'
It was declared as: bool (__export member func)(int )
It is now declared: int member func(int )
     virtual bool DRV_IsRootNodeID(int nodeID);
                                              ^
mkstorage.h(571) : Error: return type of overriding function  
'e4_StorageImpl::DRV_IsRootNodeID' diff
ers from that of 'e4_MetakitStorageImpl::DRV_IsRootNodeID'
It was declared as: bool (__export member func)(int )
It is now declared: int member func(int )
     virtual bool DRV_GetStatistic(e4_Space sp, e4_SpaceStat st, int &v);
---

To me this looks like the only difference is that the interface  
specification of class e4_StorageImpl has the DLL export stuff mentioned  
and the e4_MetakitStorageImpl not. Here are the specificaiton lines:

class e4_DLL e4_StorageImpl : public e4_RefCounter
{
	virtual bool DRV_Commit() = 0;
...

class e4_MetakitStorageImpl: public e4_StorageImpl
{
	virtual bool DRV_Commit();
...

Is it necessary to move the DLL specifier down the inheritance chain?

-- 
Robert M. Münch
Management & IT Freelancer
http://www.robertmuench.de
Dec 02 2004
parent "=?iso-8859-1?Q?Robert_M._M=FCnch?=" <robert.muench robertmuench.de> writes:
On Thu, 02 Dec 2004 19:20:49 +0100, Robert M. Münch  
<robert.muench robertmuench.de> wrote:

 Hi, I made some further steps WRT to getting a DLL compiled with DMC.  
 Here are the current error messages:
Hi, ok got it. It was a problem of the "bool" definiton. Robert
Dec 02 2004