Implementation der Headerdatei bekannt machen

T

Tim_Tux

Mitglied
Hallo,

ich bastel momentan an meinem ersten kleinen C++ Projektchen und möchte, so wie man es in fast allen Sprachen macht, Schnittstellen und Implementationen trennen. Also habe ich meine Schnittstelle "xyz.h" erstellt und dort die Klassendeklaration getätigt. Die Implementation folgt dann im File "xyz.cpp".

Die Headerdatei habe ich mittels "#include "xyz.h"" in das Hauptfile (das mit der main-Funktion) includiert.

Nun lässt sich das Hauptfile aber nicht kompilieren, die Implementationen aus "xyz.cpp" scheinen nicht bekannt zu sein.

Da die Geschichte nicht automatisch zu funktionieren scheint, habe ich den Verdacht, dass ich die einzelnen *.cpp -files alle noch per Hand übersetzen muss. Kann das sein und wenn ja, wie kann ich überstzen, wenn die *.cpp-files keine Funktion "main" enthalten?

Meine Werkzeuge sind lediglich gcc/g++ und vim. Sollte ich möglicherweise als Einsteiger auf eine Umgebung umsteigen, die mir mehr Arbeit abnimmt?

Dank und Grüße
Tim
 
musst man da nicht erst eine Objektdatei draus machen? Und diese dann beim Kompileren mit angeben? So glaube ich war es jedenfalls irgentwie so ungefähr.
 
Du kannst auch einfach alle C++-Dateien dem Compiler übergeben. Alternativ machst du erst Objektdateien und gibst diese beim Kompilieren mit an.
Tip: Greif die KDevelop. Damit wird die Erstellung des Build-Systems etwas einfacher und wenn es wirklich ein Projekt werden soll, bietet die KDevelop eine Menge Möglichkeiten den Überblick zu behalten.
 
Danke für die Tipps mit den Objektdateien. Es funktioniert auf diese Weise.

Die Alternative KDevelop habe ich mir mal angesehen und muss sagen, ich bin durchaus angetan. Das Projekt scheint sehr übersichtlich verwaltet zu werden, configure und makefiles werden automatisiert erstellt und das Tool Qt-Designer wirkt auch sehr hilfreich.

Servus,
Tim
 
Zurück
Oben