Kern S. schrieb:
> Mojn, ich habe ein Übungsprogramm geschrieben das aus mehreren Dateien
> besteht, ich bekomme es aber nicht zum Laufen und die Fehlermeldung sagt
> mir leider gar nichts.
Die Fehlermeldung kommt vom Linker und besagt, dass auf die Funktionen
print_foo und print verwiesen wird und diese zwar deklariert, aber nicht
definiert sind (undefined reference). Der Linker findet also die
Implementation dieser beiden Funktionen nicht. Wie "foobar" sagt, linkst
du my.o wohl nicht zu deinem Programm. Wie sieht denn dein Makefile aus?
Hier noch ein paar Anmerkungen zu deinem Code:
>#include "../../../std_lib_facilities_C++11.h"
Solche relativen Pfade sollte man vermeiden. Besser ist es, das
Verzeichnis dem Compiler über dessen Kommandozeilen-Option -I als
Suchverzeichnis für Header bekannt zu machen.
> int foo;
>
> int main()
> {
> foo = 7; // Wenn auskommentiert wird foo standardmäßig mit 0
> erstellt/initialisiert/definiert
Du kannst auch einfach gleich oben
schreiben.
Und deiner Datei my.h fehlt ein Include Guard.