Kleiner Frage zu gcc

Spacemojo

Spacemojo

Aktives Mitglied
Thread Starter
Dabei seit
16.05.2004
Beiträge
624
Reaktionspunkte
21
gcc: Klassen in anderen Dateinen

Hi!
Ich hab ein C++ Programm, das aus "main.cpp" und einer Klasse "klasse.h" und "klasse.cpp" besteht.
In main.cpp und klasse.cpp steht am Anfang #include "klasse.h" drin.

Wie kompiliere ich das (ohne makefile) vom Terminal aus mit gcc?
"gcc main.cpp" geht nicht.

Danke!
Tobi
 
Zuletzt bearbeitet:
Versuch's mal mit "g++", statt "gcc".
 
g++ main.cpp klasse.cpp -o programm
 
OK, das von *-jalapeno-* funktioniert.
Kann der Compiler nicht automatisch alle Dateien einbinden? Also wenn ich z.B. 20 Klassen in 20 Dateien hab.

Tobi
 
Zuletzt bearbeitet:
Spacemojo schrieb:
Kann der Compiler nicht automatisch alle Dateien einbinden? Also wenn ich z.B. 20 Klassen in 20 Dateien hab.

Dazu muss er ja erst mal wissen *was* du zusammen kompilieren willst. Und dafür gibts dann das gute alte Makefile. ;)

Wenn du wirklich alle .cpp-Dateien einkompilieren willst könntest du aber mal so etwas in der Art versuchen:

g++ ‘ls *.cpp‘ -o programm
 
Für solche Zwecke sind Tools wie z.B. make vorgesehen.

Du kannst dich wenn es dich interessiert mal in die Thematik Makefiles einlesen, oder wenn du keine Zeit/Lust/whatever hast, rate ich dir eine IDE zu benutzen, welche das für dich übernimmt.
 
g++ ‘ls *.cpp‘ -o programm

Sollte dann eher so gehen

g++ *.cpp -o programm

Makefile wäre aber dann schon sinnvoller.

Morfio ...
 
Und klar kannst Du alle Dateien aufzählen:

g++ -o program erstes.cpp zweites.cpp

Im Übrigen:
"g++ is a program that calls GCC with the default language set to C++, and automatically specifies linking against the C++ library. "
 
Nimm doch einfach Xcode. Der compiliert dir alle Dateien so wie es sich gehört. :)
 
Am Mac nehm ich Xcode, aber ich muss auch in der Uni unter Linux kompilieren.
 
Wenn ihr an der Uni einen X-Server auf den Linux-Kisten laufen habt, gibt es eine Fülle an C/C++ IDEs. Nennenswert wären sicher eclipse, KDevelop und Anjuta.
Ich persönlich bevorzuge eclipse, da es mir damit keine Rolle spielt, ob ich unter Linux, Mac oder Windows entwickle.
 
Zurück
Oben Unten