problem mit dll



  • hi,

    also ich in etwa folgendes deklariert:

    //header-file
    #ifdef DLL
    #define API3 __declspec(dllexport)
    #else
    #define API3 __declspec(dllimport)
    #endif
    
    class xyz
    {
       ...
       API3 xyz();
       API3 ~xyz();
       API3 void Render();
    }
    
    ...
    //cpp-file (gehört zur dll)
    API3 xyz::xyz()
    {
     ...
    }
    usw.
    
    //--------------------
    //anwendung
    
    #pragma comment(lib, "dll.lib");
    #include "xyz.h"
    
    int main(
    {
       xyz *test = new xyz(); //<- hier musste ich schon festellen das nicht mein
                              //konstruktor aufgerufen wird, also nicht der von oben
                              //aber noch kommt keine fehlermeldung
    
       xyz->Render()        
       delete xyz;
       return 0;
    }
    

    so, die Zeile "xyz->Render()" produziert mir eine Fehlermeldung: "anwendung verknüpft mit fehlendem DLL-Export: Render"....
    und wie oben steht, der konstruktor den ich definiert hab wird auch nicht aufgerufen.
    kann mir jemand sagen wos hackt.?

    thx. _um



  • Falsche Baustelle hier. Das hat etwas mit Windows, Windows-API und Visual-Studio zu tun.



  • das muss in etwas so aussehen ( schnell überflogen ):

    class API3 xyz 
    { 
       ... 
       xyz(); 
       ~xyz(); 
       void Render(); 
    }
    


  • hey, genau zu der lösung bin ich mitlerweile auch schon gekommen *g*

    danke


Anmelden zum Antworten