?
Thez schrieb:
Muss ich jede Datei die windows.h mit include einbinden oder reicht es, #include <windows.h> in der main.cpp Datei zu haben?
Du könntest es mal ausprobieren.
Thez schrieb:
Also, wenn ich das richtig verstanden habe, wird jede Quelltext Datei einzeln zu einer .o Datei compiliert und am Ende wird das ganze mit dem Linker verbunden. Das suggeriert ja, dass ich auch in jedem Sourcefile jede Bibliothek von der ich gebrauch mache einbinden muss, oder?
#include bindet nicht die Bibliothek ein. Genauso. wie du es in deinem Code wohl auch gemacht hast, enthalten die Header die Deklarationen der Funktionen, Klassen usw., die du benutzen willst[*]. Zusätzlich muss dem Linker noch die passende Bibliothek mitgegeben werden, damit auch die entsprechenden Implementierungen zur Verfügung stehen. Gelegentlich steht dazu bei Windows eine Anweisung im Hearder, im Regelfall muss man aber dem Linker die Bibliothek und deren Pfad noch extra nennen.
[*] Templates und Inlinefunktionen werden im Header definiert, hier kommt also auch der eigentlich Code mit. Es gibt Header Only Bibliotheken (z.B. boost shared_ptr), bei denen nichts mehr dazu gebunden werden muss