项目要求,在线求救...
现在有一个公用DLL,里面定义很多输出CLASS,用_declspec(dllexport)定义,在DEBUG下正常,在RELEASE下,warning、error一串串。例如一个串口CLASS,定义如下:(#define MYDECLARE_PUBLIC _declspec(dllexport))
class MYDECLARE_PUBLIC myCComport:public CObject
{
protected:
DECLARE_SERIAL(myCComport);
myCComport();
public:
static CMapStringToPtr mapComports;
static void RegisterClass(CString strType,CRuntimeClass* pType);
public:
short* m_pReportBuffer; // 报文监测缓冲区;
short m_nReportPointer; // 报文监测指针;
public:
virtual ~myCComport();
myCComport &operator=(myCComport& comport);
virtual myCComport* Clone(void);
virtual void Serialize(CArchive& ar);
virtual BOOL OnAttrib(void);
virtual BOOL OnAttrib(CPropertySheet& sheet);
virtual void Fresh1s(void);
virtual void Fresh10s(void);
virtual void Fresh1min(void);
virtual void FreshCom(void);
myCUnit* GetComUnit(void);
public:
virtual void OpenCom(void){};
virtual void CloseCom(void){};
public:
virtual int GetPrintCount(void);
virtual CString GetPrintHead(int nNo);
virtual CString GetPrintContent(int nNo);
};
在RELEASE下报错:
对这一行:IMPLEMENT_SERIAL(myCComport, CObject, 0)
warning C4273: 'CreateObject' : inconsistent dll linkage. dllexport assumed.
warning C4273: '_GetBaseClass' : inconsistent dll linkage. dllexport assumed.
warning C4273:'public: static struct CRuntimeClass myCComport::classmyCComport' : inconsistent dll linkage. dllexport assumed.
error C2491'myCComport::classmyCComport' : definition of dllimport static data member not allowed
'GetRuntimeClass' : inconsistent dll linkage. dllexport assumed.
对初始化静态变量报错:CMapStringToPtr myCComport::mapComports;
'public: static class CMapStringToPtr myCComport::mapComports' : inconsistent dll linkage. dllexport assumed.
'myCComport::mapComports' : definition of dllimport static data member not allowed
warning C4273: 'GetPrintContent' : inconsistent dll linkage. dllexport assumed.
大虾救我!或告诉我EMAIL。急!!!!!!!!!!!!!