[gelöst] QtCreator ausführbare Datei unter Linux
-
Hallo zusammen,
jetzt wird's peinlich (für mich).
Ich lerne C++ mit QtCreator (zunächst nur C++ ohne Qt und nur Konsole). Soweit so gut. Ich klicke in QtCreator auf RUN und es läuft (oder auch nicht).
Aber wie starte ich denn das Programm außerhalb von QtCreator?
Ich habe das mit dem vorgegebenen Minimalprogramm "Hello World" mal ausprobiert. Nach dem Erstellen finde ich im Build-Verzeichnis drei Dateien:
HalloWelt
main.o
MakefileWenn ich unter den Eigenschaften von "HalloWelt" schau, dann ist diese als "darf als Programm gestartet werden" markiert (Linux!).
Ich hatte nun erwartet, dass ein Doppelklick darauf ein Konsolenfenster öffnet und "Hello World" darauf schreibt. Passieren tut allerdings genau nichts.
Versuche ich das Programm im Terminal zu starten, dann erhalte ich die Meldung "HalloWelt: Befehl nicht gefunden"
-
Ausführbare Dateien startest du unter der Konsole mit ./HalloWorld. Wenn du im Dateimanager einfach nur einen doppelklick darauf machst und nichts passiert, ist das normal. Da du der ausführbaren Datei explizit mitteilen musst, dass das Programm in der Konsole laufen soll. Kann auch sein, dass das Programm sich sofort wieder schließt, nach dem ausführen. Wenn du nur ein Hello World ausgibst.
-
Bennisen schrieb:
Ausführbare Dateien startest du unter der Konsole mit ./HalloWorld. Wenn du im Dateimanager einfach nur einen doppelklick darauf machst und nichts passiert, ist das normal. Da du der ausführbaren Datei explizit mitteilen musst, dass das Programm in der Konsole laufen soll. Kann auch sein, dass das Programm sich sofort wieder schließt, nach dem ausführen. Wenn du nur ein Hello World ausgibst.
Danke. Das mit "./" funktioniert.
Ist das Linux-spezifisch? Andere Programme kann man ja auch starten, ohne "./" vorzustellen.
Ich habe mal unter "Projecte/Ausführung" von QtCreator geschaut. Da gibt es die Option "in Konsole starten" und die ist auch angehakt. Die gilt vermutlich nur für die Ausführung aus QtCreator, oder?
Wo würde man ansonsten dem Programm mitteilen, dass es in der Konsole starten soll?
Mit dem sofortigen Schließen hast du natürlich Recht.
-
temi schrieb:
Bennisen schrieb:
Ausführbare Dateien startest du unter der Konsole mit ./HalloWorld. Wenn du im Dateimanager einfach nur einen doppelklick darauf machst und nichts passiert, ist das normal. Da du der ausführbaren Datei explizit mitteilen musst, dass das Programm in der Konsole laufen soll. Kann auch sein, dass das Programm sich sofort wieder schließt, nach dem ausführen. Wenn du nur ein Hello World ausgibst.
Danke. Das mit "./" funktioniert.
Ist das Linux-spezifisch, bzw. kann man das ändern? Andere Programme kann man ja auch starten, ohne "./" vorzustellen.
Ich habe mal unter "Projecte/Ausführung" von QtCreator geschaut. Da gibt es die Option "in Konsole starten" und die ist auch angehakt. Die gilt vermutlich nur für die Ausführung aus QtCreator, oder?
Wo würde man ansonsten dem Programm mitteilen, dass es in der Konsole starten soll?
Mit dem sofortigen Schließen hast du natürlich Recht.
Edit: Ups - Versehen!
-
Im Dateimanager mal einen rechtsklick auf die Datei machen und in der Konsole starten anhaken. Je nachdem was du für eine GUI verwendest.
-
Ok. Ich habe die Antwort auf die erste Frage gefunden.
When you type the name of a program the system looks for the file in your PATH.
The system looks through these directories in the order given and if it can't find the program produces a command not found error.
Prepending the command with ./ effectively says "forget about the PATH, I want you to look only in the current directory".
Zur Zweiten: Bei xfce gibt es diesen Haken anscheinend nicht...