Headerdatei aus anderem projekt includieren
-
Hallo alle,
ich habe eine frage: ich habe eine Projektmappe mit zwei projekten drin.
das eine Projekt soll eine DLL sein und das andere eine EXE.
die exe soll auf die dll zugreifen können . jetz ist meine frage : wie schaffe ich es das die cpp-datei im Exe-projekt die Headerdatei im DLL-projekt kennt.
Kann man da irgentwie den Pfad setzen?? sowas wie #include ".\Hallo.h" oder so was?
gruß
Y.
-
Ja, genau so.
-
Trenn die Files der DLL in "public" und "private" Files.
"public" Files sind die, die du aus der .EXE inkludieren musst. "private" ist der Rest.
"public" Files kommen in ein "include/dllname" Verzeichnis, "private" kommen ins "src" Verzeichnis.Dann setzt du auf das "include" Verzeichnis nen Include-Pfad, und holst die Dateien per
#include <dllname/filename.h>rein.
-
ok wenn ichs richtig verstanden habe soll ich:
bei dem exe-projekt "zusätzliche includeverzeichnisse" auf einen ordner des dll-projekts setzen, in dem die hallo.h enthalten ist . dann kann ich
in eine header datei des exe-projekts
#include <... name des dll projekts... /...name der headerdatei ... .h> schreiben.habs gerade so versucht geht leider nicht:
immer noch No such file or directory
gruß Y.
-
Sehe ich das richtig dass es hier um die Projekteinstellungen zu einem bestimmten Compiler/IDE geht und nicht um ein C++-Sprachproblem?
-
ok ich hab den einen teil hingekriegt. der findet die datei am anfang faselt er was von:
: Einlesen der Datei ... hallo.h
jez hab ich einige der objekte in der dll aufgerufen in der main.cpp der exe.
ich habe von den objekten einen nicht aufgelösten verweis . was habe ich vergessen einzubinden?
-
Du solltest in der Fehlermeldung sehen, was nicht gefunden worden ist. Sprich, welche DLL du noch einbinden musst.
-
ich habe in diese DLL eine klasse reingeschrieben: nun muss ich doch die Funktionen + Konstruktor mit diesem Export Callback zugänglich machen ... .
so denk ich es mir zu mindest
-
Ja nun hab ich die die klasse darin versteckt
und habe in der header-datei
class __declspec(dllexport) eineKlasse { ...} ;
gemacht
in der cpp.datei ist nur die reine implementierung drin.
wie erzeuge ich nun in der cpp datei (exe-projekt) objekte der klasse???