C++ - Compiliert, startet aber nicht!

...komplette Frage anzeigen

2 Antworten

mit dem Compilieren einer C++-Quelle erzeugst du ein Binary, ein ausführbares Programm. Das hast du ja auch alles richtig gemacht.

Doppelklicks (worauf eigentlich ?) wirken doch nur im Zusammenarbeit des Windowmanagers mit einem GUI (einem grafischen Element, das den Doppelklick auswertet und dann das betreffende Binary startet)

Wie du so einen "Starter" erzeugst, hängt vom Windowmanager ab (KDE, GNOME ...) Die Ausgabe "Hello World" muss dann aber auch auf ein grafisches Fenster erfolgen. Dafür reicht aber der eine Befehl std::cout << "Hello World" nicht aus.

Wenn du schnell solche GUI's haben möchtest, dann mache das mit Tcl/Tk, einer Scriptsprache mit einem ToolKit für grafische Elemente.

Also, ich bin zwar noch kein Experte jedoch kann ich dir etwas sagen:

Wenn du das Programm mit einem Doppelklick ausführst bekommst du ebenfalls deine "Hello World" Ausgabe. Allerdings ist die so unglaublich datenunaufwändig dass die Meldung für einen Bruchteil einer Sekunde als Terminal da auftaucht, der wahrscheinlich einfach nicht dargestellt wird wegen Effekten von compiz die mehr zeit beanspruchen. So wie du da gearbeitet hast, hast du ein Konsolenprogramm erstellt. Das ist der Anfang.

Ausserdem solltest du den compiler in 3 schritten benutzen

g++ -c -o main.o main.cpp
g++ -o Test main.o
./Test

Das ist aktuell eine Lösung deines Problemes dass du das Programm nicht wirklich selber benennen kannst. Und auch in zukunft solltest du immer wie oben genannt vorgehen, falls du mal mit mehreren Dateien arbeitest in denen dein Quellcode vorhanden ist. Wie genau das dann läuft weiss ich selbst nicht so genau, ich bin aktuell aber in der Ausbildung ;D

Hoffe ich konnte dir helfen.

LG XenonLightz

ein Hinweis an alle:

schaut euch mal die Makefile der diversen Pakete an. Ein

locate Makefile

liefert euch jede Menge Beispiele. Mit Befehlen wie

apropos Makefile
apropos Make
man make
info make

bekommt man weitere Informationen (und dabei dürfte die Distribution keine Rolle spielen. Die genannten Kommandos sind meistens Bestandteil. Wenn nein, sind locate und info schnell installiert.

0

Danke, aber was meinst du mit dem selber bennennen?`Ich weiß schon wie man den g++ Compiler benutzt und auch wie man dem Programm automatisch einen Namen gibt... ich weiß nur nicht, warum sich keine Console öffnet ^^

Wenn Terminal sich nur ganz kurz öffnet, wieso öffnet der sich trotzdem nicht, wenn ich cin benutze? Dann muss Terminal doch eigentlich auf eine Eingabe warten...

0

Was möchtest Du wissen?