Schaffe es nicht eine Kalsse aus einer DLL zu exportieren



  • also, mein programm ist so aufgebaut:

    DLL (testdll.dll)

    testdll.h

    class CTEST
    {
     int zahl1;
     int zahl2;
     int zahl3;
    
     void fill();
    
     CTEST();
     ~CTEST();
    };
    
    void andereFunktion1();
    void andereFunktion2();
    

    testdll.cpp

    #include "testdll.h"
    
    CTEST::fill()
    {
     zahl1=1;
     zahl2=2;
     zahl3=3;
    };
    
    CTEST::CTEST()
    {
    // der constructor
    };
    
    CTEST::~CTEST()
    {
    // der destructor
    };
    
    void andereFunktion1()
    {
    // mache irgendwas
    };
    
    void andereFunktion2()
    {
    // mache was anderers
    };
    

    testdll.def

    LIBRARY     "testdll.dll"
    EXPORTS
        andereFunktion1
            andereFunktion2
    

    testdll_exports.h

    void andereFunktion1();
    void andereFunktion2();
    

    Programm (testprog.dll)

    testprog.cpp

    #include "testdll_exports.h"
    
    void main()
    {
    andereFunktion1(); // das funktioniert
    
    // jetzt will ich das machen:
    CTEST *test;
    
    }
    

    wie kann ich die klasse CTEST jetzt auch noch exportieren?
    ich möchte die klasse aber nicht in "testdll_exports.h" definieren ...



  • dann garnicht!



  • Was genau verstehst du unter "definieren"?
    Du hast sie in der .h datei doch gar nicht definiert.

    btw:
    Da fehlen ein paar __declspec(dllimport) bzw. __declspec(dllexport), je nachdem was du willst.
    Lies dir am besten ein paar Tutorials über DLL-Programmierung durch.


Anmelden zum Antworten