virtual destructor in Dll



  • Hallo!
    Ich hab da ein Problem! Ich weiß einfach nicht warum das nicht klappt. Habe eine Klasse die in eine Dll gepackt wird. Das Problem ist dass es immer Abstürtzt wenn ich den Destructor virtuell mache. Wenn ich das weg lasse klappt es komischerweise...
    Hier der Code:

    #include "mydll.h"
    
    int main (int argc, char ** argv)
    {
    	DllClass *myObject = new DllClass();
    
    	delete myObject;
    
    	return 0;
    }
    

    Die Header:

    #ifdef DLL_EXPORTS
    	#define DLL __declspec( dllexport )
    #elif DLL_IMPORTS
    	#define DLL __declspec( dllimport )
    #endif
    
    class DllClass
    {
    public:
    	DLL DllClass() { }
    	DLL virtual ~DllClass() { }
    };
    

    Ich benutze VC++ 6
    und im Projekt der Dll wurde DLL_EXPORTS als Präprozessordefinition eingefügt und bei dem .exe Projekt DLL_IMPORTS (ist doch eigentlich richtig so oder nicht?)

    Wenn ich aber bei dem .exe Projekt auch DLL_EXPORTS angebe, dann klappt es! Ich raffe das alles nicht mehr 😞



  • du hast 2 Kopien der CRT-Bibliotheken

    http://support.microsoft.com/default.aspx?scid=kb;de;190799



  • ahhh!! danke danke! hab zwar eine weile gebraucht, aber jetzt klappt es wenn man in beiden projekten /MD als argument übergibt! thx! 👍


Anmelden zum Antworten