Zum Inhalt springen

leeres Terminal bei korrektem sourcecode (C++, QTcreator, Linux 12.04)


Empfohlene Beiträge

Geschrieben

Hellow community !

Bin neu bei Linux und programmiere unter QT, C++.

Leider bekomme ich bei korrektem sourcecode, keine Fehlermeldungen, nur ein leeres Terminal.

Gängiger Fehler ? Fehlt eine Bibliothek oder eine Einstellung ? Kenne das von Windows her nicht :(

Danke

Geschrieben

Ja, wie gesagt der sourcecode ist korrekt. Hier, ganz simpel:

#include <iostream>

#include <QString>

#include <ncurses.h>

using namespace std;

int mathe, deutsch, sport, religion, notenanzahl = 0;

double schnittnote;

int main()

{

cout << "Bitte geben Sie eine Note für Mathe ein: " << endl;

cin >> mathe; notenanzahl++;

cout << "Bitte geben Sie eine Note für Deutsch ein: " << endl;

cin >> deutsch; notenanzahl++;

cout << "Bitte geben Sie eine Note für Sport ein: " << endl;

cin >> sport; notenanzahl++;

cout << "Bitte geben Sie eine Note für Religion ein: " << endl;

cin >> religion; notenanzahl++;

schnittnote = (mathe + deutsch + sport + religion) / notenanzahl;

cout << "Ihre Schnittnote ist: " << schnittnote << endl;

}

Ich denke das Problem liegt an der Konfiguration von QT unter Linux (Linux halt ...), hab jetzt noch ein weiteres Progrämmchen geschrieben, selbes Problem.

Geschrieben

ja sry Linux ist halt für Profis, i know. War nicht so gemeint.

einfache Konsolenanwendung.

gehe ganz normal auf den grünen Ausführungsbutton, wie unter Windows sonst immer auch. Von daher bin ich ja so verwirrt. Kp was da schief läuft. Hoffe nix triviales.

Geschrieben


#include <QString>

#include <ncurses.h>

die beiden Includes brauchst Du nicht

int main()

mach mal bitte daraus ein vollständiges Main mit Parametern und return value

Ich denke das Problem liegt an der Konfiguration von QT unter Linux (Linux halt ...)

Das ist wirklich unnötig, ich würde Dir eher sagen, dass Du Dein System nicht beherrschst. Ich habe jahrelang mit Qt unter Linux entwickelt (SuSE, Debian, Ubuntu) und es funktioniert ohne Probleme.

Zusätzlich solltest Du das ganze per CLI compilieren und linken (z.B. mit Makefiles)

Geschrieben
ja sry Linux ist halt für Profis, i know.
Sarkasmus trägt ungefähr so viel zur Problemlösung bei wie unbegründete Abwertung.

einfache Konsolenanwendung.
Den Projekttyp gibt's in meinem QtCreator nicht. Ist das ein Plugin, oder bist du nur etwas ungenau?

Was passiert, wenn du das Programm aus einer Shell startest?

Geschrieben

das mit den Bibliotheken ist ne Art Kopf-Template, stören doch nicht auch wenn man sie nicht benötigt ?

komme halt von windows und arbeite im betrieb mit linux, da braucht man ein weilchen auch bei anderen sachen, nicht nur beim programmieren. ist halt nicht so idiotensicher wie windows, bzw braucht man um mit linux effektiv arbeiten zu können mindestens fortgeschrittenenkenntnisse. nichtsdestotrotz hab ich kein problem mit unix basierten systemen, auch wenn ich nicht immer verstehe warum das (teilweise) umständlicher umgesetzt wird. anderes thema.

bin noch am lernen mach ne ausbildung zum FIAE. in der schule machen wir qt auf windows, im betrieb hab ich wie gesagt linux u habs gestern erst eingerichtet und bin leicht überfordert bei den neuen probs die es in der schule unter windows eben nicht gab. und das mit den parametern in main ist bei dem prog nicht notwendig, lief ja unter win auch so. wüsst grad auch nicht was ich da f parameter eintragen sollte. sry jungs. saß schon den halben tag da um die equivalenten bibliotheken herauszufinden da ja sowas wie conio.h in linux nicht existiert usw ... bin als laie relativ sicher dass das an ieiner konfi liegt dass er mir nur ein leeres terminal ausgibt, nicht am code.

sollte ich vll ein return mit einfügen ? return 0; ?

Geschrieben
mach mal bitte daraus ein vollständiges Main mit Parametern und return value
main ohne Parameter ist standardkonform, und eine return-Anweisung braucht main auch nicht (implizit return 0).

kp wie man das aus der shell startet
Du öffnest eine Shell, wechselst mit cd in das Verzeichnis, in dem das Programm erstellt wurde, und gibst ./Programmname ein.
Geschrieben

also wenn ich ./main.cpp eingebe (im ordner mit der main.cpp) kommt "Keine Berechtigung". auch unter sudo, das selbe. oder ist die .cpp die falsche datei ?

das mit den Rechten ist mir auch nocht nicht so gaaaaaanz geläufig. bin am erlernen, verstehe aber nicht warum ich in meinem eigenen homeordner (wo die QT projektdateien unter Dokumente angelegt sind) keine berechtigung habe.

denke mal sollte das verzeichnis wechseln und die projekte in zukunft unter www oä speichern.

Geschrieben

ohje.

habe im Projektordner der Aufgabe1 folgende Dateiendungen:

.pro

.pro.user

.user

.cpp

und einen Ordner der "...System__Release" heisst mit einer "Makefile" drinnen.

Eine davon ausführen ?

Geschrieben
Eine davon ausführen ?
Nein. Genau wie unter Windows sollte sich das erstelle Programm in einem Unterordner dieses Ordners befinden. Die Datei heißt vermutlich genauso wie das Projekt und hat keine Dateierweiterung. Such also nicht nach .exe.
Geschrieben
main ohne Parameter ist standardkonform, und eine return-Anweisung braucht main auch nicht (implizit return 0).

Ich weiss, dass es standardkonform ist, aber ich hatte vor einigen Jahren genau damit ein Problem, ich glaube auf einer Sun (?) war das. Ohne return gab es dann Probleme auf der Shell.

Geschrieben
habe hier jemanden gefunden der wohl das selbe prob hatte
Da geht es um Windows :confused:

Steht die Zeile

CONFIG += console

in deiner .pro-Datei?

Schau bitte mal in den Projekteinstellungen unter Ausführung, ob da ein Haken bei "In Terminal ausführen" ist.

Geschrieben

So, habe herausgefunden dass dieses Problem ein Bug ist. Warum der noch nicht gefixt wurde weiss ich auch noch nicht. Herausgefunden habe ich es weil im Terminal, ein einziges mal, Gott weiss wieso, ähnlicher Text wie dieser ausgespuckt wurde und ich es aus versehen weggeklickt habe, aber durch Schlagwortsuche bei google EINEN Beitrag dazu gefunden habe:

Cannot connect creator comm socket /tmp/qt_temp.OZ2318/stub-socket: No such file or directory

Betätigen Sie die <RETURN> Taste, um das Fenster zu schließen...

Geschrieben

Cannot connect creator comm socket /tmp/qt_temp.OZ2318/stub-socket: No such file or directory

In den meisten Fällen liegen die Daten, die ein Programm zur Laufzeit braucht (wie PID, FIFO / LIFO Strukturen) unter /var/run

Geschrieben

ja habe das nicht bedacht. habe auf windows meine progs unter programme und so dateien oder speicherstände unter dokumente. muss da nicht immer extra in ordnern rumfliegen sondern hab alles da. muss ich mein persönliches system umstellen ^^

aber liegt das wirklich dadran ? sagt das der "bug" ? ich verstehs nämlich nicht.

Geschrieben

ja genau den link hab ich vorhin auch gefunden. aber für heute langts mir. hab keinen kopf mich noch in englisches fachjargon reinzulesen. aber danke dann kümmer ich mich morgen um die emulation ...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...