Hallo
Seit einiger Zeit ernte ich jedesmal beim Compilieren 2 auf die Dauer recht nervige Warnungen:
c:\dokumente und einstellungen\administrator\eigene dateien\samuel\c++\visual c++\dll's\sgcommon4\include\unitsgfilechunked.h(40) :
warning C4251: 'm_TreeChunkDescribe' : class 'sgCTree<struct sgSChunkDescribe>' benoetigt eine DLL-Schnittstelle, die
von Clients von class 'sgCFileChunked' verwendet wird
c:\dokumente und einstellungen\administrator\eigene dateien\samuel\c++\visual c++\dll's\sgcommon4\include\unitsgfilechunked.h(41) :
warning C4251: 'm_ChunkInfo' : struct 'sgSChunkInfo' benoetigt eine DLL-Schnittstelle, die von Clients von class 'sgC
FileChunked' verwendet wird
Dabei zeigt mir Visual C++ auf folgende Deklarationen:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
struct sgSChunkInfo
{
unsigned int uiSizeChunkID;
unsigned int uiSizeChunkLength;
sgSChunkInfo(unsigned int uiSizeChunkID,unsigned int uiSizeChunkLength)
:uiSizeChunkID(uiSizeChunkID),
uiSizeChunkLength(uiSizeChunkLength)
{
}
};
class SGCOMMON_API sgCFileChunked: public sgCFile
{
protected:
sgCTree<sgSChunkDescribe> //hier wird zum ersten mal gemeckertm_TreeChunkDescribe;
const sgSChunkInfo m_ChunkInfo;//hier wird zum zweiten mal gemeckert
public:
sgCFileChunked(
const sgCStringPath& StringPath,
const sgEFileOpenType& FileOpenType,
const sgEFileType& FileType,
sgCTree<sgSChunkDescribe>& TreeChunkDescribe,
const sgSChunkInfo ChunkInfo
);
~sgCFileChunked(void);
virtual void Open(bool bCreate);
virtual void Close(void);
sgSChunk GetChunk(const unsigned int uiID);
};
|
Please kann mir jemand sagen, was das bedeutet und wie man es beheben kann. Ich vermute mal das den Compiler stört, dass ich class members, die nicht mit __cdecl(dllexport) deklariert wurden, als protected (also beim erben zugänglich) hab. Aber was soll ich machen? ich kann schließlich ne Template Klasse nicht aus ner DLL exportierten! Ich hoffe jemand weiß Hilfe.
Samuel G. (the progging devil) }>