LeeHarvey Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 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 Zitieren
Klotzkopp Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 Vermutlich machst du irgendetwas falsch. Eine genauere Diagnose ist kaum möglich, wenn du so wenig Informationen lieferst. Passiert das auch mit einem einfachen Hello-World-Programm? Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 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. Zitieren
Klotzkopp Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 Welchen Projekttyp hast du erstellt? Wie erstellst du das Programm und wie führst du es aus? Linux halt So etwas ist absolut unnötig. Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 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. Zitieren
flashpixx Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 #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) Zitieren
Klotzkopp Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 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? Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 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; ? Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 war kein sarkasmus -.-* meinte "QT Konsolenanwendung" kp wie man das aus der shell startet Zitieren
Klotzkopp Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 mach mal bitte daraus ein vollständiges Main mit Parametern und return valuemain ohne Parameter ist standardkonform, und eine return-Anweisung braucht main auch nicht (implizit return 0). kp wie man das aus der shell startetDu öffnest eine Shell, wechselst mit cd in das Verzeichnis, in dem das Programm erstellt wurde, und gibst ./Programmname ein. Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 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. Zitieren
Klotzkopp Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 also wenn ich ./main.cpp eingebe (im ordner mit der main.cpp) kommt "Keine Berechtigung".Das ist die Quellcodedatei, die kannst du nicht ausführen. Du sollst das erstelle Programm ausführen. Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 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 ? Zitieren
Klotzkopp Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 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. Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 ah ok sry. ja läuft im Terminal. auch mit korrekter ausgabe. notenschnitt berechnet. das heisst jetzt was ? Zitieren
flashpixx Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 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. Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 (bearbeitet) habe hier jemanden gefunden der wohl das selbe prob hatte, löste es auf kompliziertem wege, den ich nicht so ganz verstehe und nicht akzeptieren möchte, jedes mal so ein rumgefummel zu machen wenn ich etwas programmiere: qtforum.de • Thema anzeigen - [solved] Einfache Ausgaben auf der Console!? Bearbeitet 31. Juli 2012 von LeeHarvey Zitieren
Klotzkopp Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 habe hier jemanden gefunden der wohl das selbe prob hatteDa 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. Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 ja steht drin. und Haken ist auch drin. Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 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... Zitieren
flashpixx Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 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 Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 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. Zitieren
Klotzkopp Geschrieben 31. Juli 2012 Geschrieben 31. Juli 2012 Es geht vermutlich um diesen QtCreator-Bug: https://bugreports.qt-project.org/browse/QTCREATORBUG-1633 Konsolenanwendungen laufen offenbar nur dann richtig, wenn xterm als Terminalemulation benutzt wird. Zitieren
LeeHarvey Geschrieben 31. Juli 2012 Autor Geschrieben 31. Juli 2012 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 ... Zitieren
Empfohlene Beiträge
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.