shared library, die externe header braucht



  • Hallo,

    Ich habe ein funktionierendes c++ Projekt (mit qt-creator) erstellt, und will
    jetzt einen Teil daraus in einer dll auslagern.

    Insgesamt habe ich im Projekt z.B. main.cpp window.h door.h wall.h myHouse.h usw.

    Ich will nun eine myHouse.dll, die aber nicht selber window, door, wall, .. hat
    sondern nur mittels INCLUDEPATH auf die header zeigt und sie verwenden kann.

    Also sollte ich folgendes haben:
    Projekt: main.cpp, window.h, door.h, ...
    Lib: myHouse.h myHouse.cpp -> dll wobei der INCLUDEPATH auf das Projekt-dir zeigt.

    Beim build der dll bekomme ich aber "undefined reference to Window::Window()"
    obwohl der INCLUDEPATH stimmt und das #include "window.h" auch in myhouse.h steht.

    Wo liegt der Fehler? Oder kann man keine dll machen, die nicht in sich abgeschlossen ist, sondern von anderen Klassen abhängt?

    Danke
    K.



  • Wenn Du Methoden von Window benutzt muss auch der Code dafür irgendwo vorhanden sein. Entweder direkt mit in Deine DLL gelinkt oder in einer weiteren DLL die von Deiner DLL geladen wird.



  • Ja, ich verwende Methoden von "Window", ich weiss aber nicht wie ich die in die dll linken muss.


Anmelden zum Antworten