Wir müssen hier mal klar unterscheiden zwischen:
- Kompilieren einer einzelnen CPP-Datei und
- Kompilieren des gesamten Projekts und anschließendem Linken.
würde ich NUR die main.cpp kompilieren überhäuft er mich mit fehlern richtig, da dann die datei.cpp nicht mitkompiliert wird?
Nein. Die Fehler kämen erst beim Linken, weil ihm dann die Implementierungen fehlen.
heißt das, dass wenn ich die main.cpp kompiliere (was ich getan habe), wird die datei.cpp auch in objektcode umgewandelt und gelinkt?
Nein. Wenn du die main.cpp kompilierst, kompilierst du die main.cpp, und nichts anderes. Der Compiler weiß dann überhaupt nichts von irgendwelchen anderen CPP-Dateien, und er muss auch nichts von ihnen wissen.
Erst beim Linken (Objektcode der einzelnen CPPs + Libraries => EXE) wirst Du Fehler erhalten, wenn Implementierungen fehlen.
Da du mit einer Entwicklungsumgebung arbeitest, weiß diese, welche CPP-Dateien alle zum Projekt gehören und kompiliert die alle einzeln, bevor der Linker gestartet wird.