Sie sind nicht angemeldet.

  • »rotes_u« ist der Autor dieses Themas

Beiträge: 4

Registrierungsdatum: 06.12.2009

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

1

06.12.2009, 00:43

Keine Reaktion beim Öffnen selbstgeschriebener Programme.

Hallo Forum!

Seit einiger Zeit beschäftige ich mich mit c++ und bin nun immerhin so weit dass ich aus ein paar simplen Zeilen ein simples Programm machen kann, das korrekt kompiliert werden kann und anschließend als a.out ausgegeben wird. Leider passiert nun, wenn ich versuche, das Programm zu starten, gar nichts. Auf die Gefahr hin, dass ich meine Dummheit sehr offen zu Tage treten lasse, bitte ich euch, mir zu helfen...

Grüße,
gerald

  • »Julian« ist männlich

Beiträge: 1 006

Registrierungsdatum: 10.07.2005

Derivat: Edubuntu

Architektur: 64-Bit PC

Desktop: GNOME 2.x

Andere Betriebssysteme: Debian 5.0 Lenny (64bit)

  • Nachricht senden

2

06.12.2009, 00:58

Es wäre der Fehlersuche schon zuträglich, wenn du noch ein paar Details zu deinem Programm (z.B. Quelltext) präsentieren könntest.
Keine Ausgabe lässt auf eine fehlerfreie Ausführung schliessen, was wiederum bedeutet, dass in deinem Programm nicht sonderlich viel hinsichtlich Textausgabe passiert.

  • »TomTobin« ist männlich

Beiträge: 485

Registrierungsdatum: 27.08.2007

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: Unity

Andere Betriebssysteme: Ubuntu

  • Nachricht senden

3

06.12.2009, 01:38

Hallo rotes_u,

Willkommen im Forum :)

das ein bisschen mehr Infos hilfreich wären wurde ja schon gesagt ;)

Wie startest Du denn Dein Programm? Und was genau soll es ausgeben?

Zitat

bin nun immerhin so weit dass ich aus ein paar simplen Zeilen ein simples Programm machen kann, das korrekt kompiliert werden kann
Du startest das Programm in einer geöffneten Konsole und es passiert nichts?

Gruß

Tom

  • »TiKaey« ist männlich

Beiträge: 312

Registrierungsdatum: 22.01.2007

Architektur: 64-Bit PC

  • Nachricht senden

4

06.12.2009, 12:07

Und last but not least...
Hast du es ausführbar gemacht (chmod +x)?

  • »rotes_u« ist der Autor dieses Themas

Beiträge: 4

Registrierungsdatum: 06.12.2009

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

5

06.12.2009, 13:08

Liebe Leute!

Danke für eure Antworten. Ich habe auch gerade erst angefangen, Linux zu verwenden; also kann es auch sein, dass deshalb Fehler passieren. In meinem Programm geht es um die Addition zweier Zahlen. Den Programmcode kann ich auch mal reinschreiben, da er ja nicht allzu lang ist:

#include<iostream>
using namespace std;

int main()
{
cout<<"Bitte eine Zahl eingeben:\n";
int a;
cin>>a;
cout<<"Bitte zweite Zahl eingeben:\n";
int b;
cin>>b;
cout<<"Die Summe der beiden Zahlen ist "<<a+b<<".";
}

Anschließend habe ich das ganze mit "g++ addition.cpp -o addition" kompiliert und es als Programm mit dem Namen "addition" wiedergefunden. Um es auszuführen, habe ich bisher immer versucht, auf das Symbol doppelzuklicken, welches das Programm repräsentiert (wie ich es von Windows gewohnt bin...). Was gibt es da noch für Möglichkeiten? Ich kenne mich nur sehr wenig aus.

@TiKaey: Danke für deinen Beitrag, aber ich habe ihn nicht ganz verstanden... ich dachte, um ein ausführbares Programm zu erhalten, muss ich den Code nur mit dem oben genannten Befehl kompilieren?

Ich danke im Voraus für jede weitere Hilfe!

Grüße,
gerald

  • »TiKaey« ist männlich

Beiträge: 312

Registrierungsdatum: 22.01.2007

Architektur: 64-Bit PC

  • Nachricht senden

6

06.12.2009, 13:25

Nein, das reicht nicht. Du musst die Datei extra ausführbar machen.

Das geht entweder über Rechtsklick - Eigenschaften - Zugriffsrechte - Datei als Programm ausführen oder per Konsole mittels 'chmod +x /Pfad/zur/Datei/Dateiname'

PS: Also, ich hab nie mit C++ gearbeitet, aber bisher scheint mir das bei allen Sachen so zu sein. ;o)

  • »aardvark« ist männlich

Beiträge: 402

Registrierungsdatum: 04.09.2008

Derivat: Kubuntu

Version: Ubuntu 20.04 LTS - Focal Fossa

Architektur: 64-Bit PC

Desktop: KDE4

Andere Betriebssysteme: Debian 11.0

  • Nachricht senden

7

06.12.2009, 13:28

Hallo,

Du mußt noch die Ausgabe abschließen:

Quellcode

1
cout << "Die Summe der beiden Zahlen ist " << a+b << "." << endl;

Es reicht, wenn Du das am Ende der Ausgaben einmal machst, schadet aber auch nicht, wenn Du es nach jedem Zeilenende hinschreibst (statt \n).
\n erzwingt bei C++ (im Gegensatz zu C) keine Ausgabe, sondern springt einfach nur in eine neue Zeile.

@TiKaey: g++ macht das Kompilat eigentlich automatisch ausführbar. Bei Dir nicht?

Edit:
Ich sehe gerade, dass Du das Programm per Doppelklick startest....
Probier es mal in einem Terminal zu starten, dann wirst Du wahrscheinlich auch die Ausgaben sehen.

Grüße, Peter

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »aardvark« (06.12.2009, 14:16)


  • »rotes_u« ist der Autor dieses Themas

Beiträge: 4

Registrierungsdatum: 06.12.2009

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

8

06.12.2009, 14:15

So, vielen Dank nochmal für eure Antworten. Ich habe jetzt überprüft, ob die Option "Datei als Programm ausführen" unter Eigenschaften/Zugriffsrechte aktiviert ist, und habe festgestellt, dass sie es ist. Außerdem habe ich bei jeder Ausgabezeile gegebenenfalls "\n" entfernt und "<<endl" eingefügt. Anschließend habe ich den Code neu gespeichert und kompiliert, das resultierende Programm reagiert jedoch immernoch nicht, wenn ich versuche es auszuführen. Hat noch jemand einen Lösungsvorschlag? Ich wäre sehr dankbar.

Grüße,
gerald

  • »aardvark« ist männlich

Beiträge: 402

Registrierungsdatum: 04.09.2008

Derivat: Kubuntu

Version: Ubuntu 20.04 LTS - Focal Fossa

Architektur: 64-Bit PC

Desktop: KDE4

Andere Betriebssysteme: Debian 11.0

  • Nachricht senden

9

06.12.2009, 14:18

s. mein Edit oben.
Dein Programm hat ja keine GUI, also mußt Du es in einer Shell/Terminal starten, um die Ausgaben zu sehen.

Grüße, Peter

  • »rotes_u« ist der Autor dieses Themas

Beiträge: 4

Registrierungsdatum: 06.12.2009

Derivat: Ubuntu

Architektur: 32-Bit PC

  • Nachricht senden

10

06.12.2009, 14:28

Hallo,

danke für deine Antwort, Peter. Ich hatte vorher schon zaghaft versucht, das Programm in einem Terminal zu starten, allerdings nur den Namen des Programms angegeben. Resultat war "addition: command not found". Nachdem du nochmal geschrieben hast, dass es so eigentlich gehen müsste, bin ich auf die Idee gekommen es mit dem Pfad zu versuchen, und siehe da, es läuft. Das Problem ist damit gelöst. Vielen Dank an alle für die Hilfe!

Grüße,
gerald

  • »aardvark« ist männlich

Beiträge: 402

Registrierungsdatum: 04.09.2008

Derivat: Kubuntu

Version: Ubuntu 20.04 LTS - Focal Fossa

Architektur: 64-Bit PC

Desktop: KDE4

Andere Betriebssysteme: Debian 11.0

  • Nachricht senden

11

06.12.2009, 14:31

Hallo,

freut mich. :)
Wenn Du Programme im aktuellen Verzeichnis starten willst, mußt Du das immer mit ./programm aufrufen.
Normalerweise ist das aktuelle Verzeichnis (.) nicht im Suchpfad.

Grüße, Peter

  • »TiKaey« ist männlich

Beiträge: 312

Registrierungsdatum: 22.01.2007

Architektur: 64-Bit PC

  • Nachricht senden

12

06.12.2009, 15:15


@TiKaey: g++ macht das Kompilat eigentlich automatisch ausführbar. Bei Dir nicht?


Ich arbeite nur mit Python, da wird nix kompiliert.
Von daher wusste ich das nicht. ;o)