Compilen unter Linux
-
Moin,
Mich würde mal interessieren, wie man unter Linux einen C++ Code Compiliert.
Erstmal ein paar Daten:Betriebssystem:
Ubuntu 7.10Complier:
GCCCode:
#include <iostream> using namespace std; int main() { cout<<"Hello World!"; return(0); }Wenn ich das ganze in der Shell Compilieren möchte, bekomm ich nur folgenden output:
markus@m-desktop:~/Desktop/blah$ gcc test.cpp
/tmp/ccgJZr4W.o: In function\_\_static\_initialization\_and\_destruction_0(int, int)': test.cpp:(.text+0x23): undefined reference tostd::ios_base::Init::Init()'
/tmp/ccgJZr4W.o: In function\_\_tcf\_0': test.cpp:(.text+0x6c): undefined reference tostd::ios_base::Init::~Init()'
/tmp/ccgJZr4W.o: In functionmain': test.cpp:(.text+0x8e): undefined reference tostd::cout'
test.cpp:(.text+0x93): undefined reference tostd::basic\_ostream<char, std::char\_traits<char> >& std::operator<< <std::char\_traits<char> >(std::basic\_ostream<char, std::char_traits<char> >&, char const*)' /tmp/ccgJZr4W.o:(.eh\_frame+0x11): undefined reference to__gxx_personality_v0'
collect2: ld returned 1 exit statusHoffe ihr könnt mir helfen.

-
Mit "gcc" rufst du den c Kompiler auf, dein Programm ist aber c++.Den c++ Kompiler rufst du mit "g++" auf.
-
Dankeschön

Jetzt jedoch eine weitere Frage, wie bekomme ich aus dem a.out eine ausführbare Datei, muss die noch irgendwie gelinkt werden o.Ä.?
Bekomme nämlich nichts ausgegeben beim öffnen.
-
Die ist schon ausführbar, sonst würdest du eine Fehlermeldung bezüglich fehlender Rechte oder falschem Binärformat bekommen. Wenn du sie von der Konsole aus startest und es erscheint direkt der nächste Prompt, liegt das daran, dass dein "Hello World" nicht mit einem Newline abgeschlossen ist.
-
Passiert leider nichts. Bekomme keine Ausgabe.
Hab jetzt mal was mit Ein & Ausgabe geschrieben, bekomme aber immer noch keine Ausgabe in der Konsole.#include <iostream> using namespace std; int main() { //variablendeklaration int zahl1; int zahl2; int zahl3; //eingabe cout<<"bitte eine zahl eingeben: "; cin>>zahl1; cout<<"bitte eine weitere zahl eingeben, welche dazuaddiert wird: "; cin>>zahl2; //berechnung zahl3=zahl1+zahl2; //ausgabe cout<<"das ergebniss betraegt:"<<zahl3<<endl; return(0); }Ausgabe in der Konsole:
markus@m-desktop:~/Desktop/blah$ g++ -o test test.cpp
markus@m-desktop:~/Desktop/blah$ test
markus@m-desktop:~/Desktop/blah$
-
Probier mal ./test aus, dadurch rufst du die Executable im aktuellen Verzeichnis auf.
-
markus@m-desktop:~/Desktop/blah$ ./test
bitte eine zahl eingeben: 1
bitte eine weitere zahl eingeben, welche dazuaddiert wird: 2
das ergebniss betraegt:3Vielen Dank, endlich klappts
