Seite 1 von 2

Keine Console unter Linux

Verfasst: 16.10.2007 13:55
von CptGreenwood
Hi,

ich will den Schritt wagen, Windows in die Tonne kloppen und Linux benutzen, obwohl ich ein absoluter Anfänger bin. Habe es zumindest hinbekommen, PB unter SuSE Linux 10.3 zu installieren und es läuft auch "prinzipiell". Sprites, Grafische Ausgabe etc. klappen prima, ich bekomme nur keine Console-Programme hin.

Das simple "Hallo Welt"-Proggie

Code: Alles auswählen

OpenConsole()
PrintN("Hallo Welt")
Input()
CloseConsole()
End
tut leider garnix. Ich starte es, es ist nichts zu sehen und dann steht unten "Execution finished". Zumidest beim Input() hätte es doch stehen bleiben müssen, oder?
Mache ich irgendetwas falsch (unter Windows lief's prima). Ich habe alle Pakete (gcc, GTK+ und SDL drauf.

Bitte Hilfe! Ich möchte nicht wegen PB bei Windows bleiben müssen...

Verfasst: 16.10.2007 13:59
von #NULL
sollte glaub ich gehen.
guck mal die OpenConsole()-rückgabe an, und
nimm mal ein delay(), vielleicht funktioniert nur Input() nicht

Code: Alles auswählen

Debug OpenConsole()
PrintN("Hallo Welt")
Delay(1000)
Input()
CloseConsole()
End

Verfasst: 16.10.2007 14:49
von CptGreenwood
Hab's versucht. Klappt trotzdem nicht. Kommt die Meldung "Executable started" und dann, exakt nach der Delay-Zeit ist das Programm vorbei, ohne dass man je eine Konsole, geschweige denn eine Ausgabe gesehen hätte.

Verfasst: 16.10.2007 14:56
von #NULL
<) ..was hat denn Debug OpenCo.. nun ergeben?

Verfasst: 16.10.2007 15:16
von CptGreenwood
Ergibt 1 :|

Verfasst: 16.10.2007 15:36
von bobobo
öö .. ää ..

unter linux hat der compiler eventuell auch entsprechende
parameter wie unter windoofs

/console gesetzt ?

Verfasst: 16.10.2007 15:45
von CptGreenwood
Hmm, Parameter? In der Anleitung für Linux stand, man solle in das Verzeichnis "compiler" gehen und dort PureBasic aufrufen. Dann komme ich in die IDE und lege los.

Unter Windows benutze ich aber auch keine Parameter...

Verfasst: 16.10.2007 15:46
von edel
Schau mal im Menu unter Compiler Option und stell mal auf "Console".

Verfasst: 16.10.2007 17:00
von #NULL
ich dachte wenn man OpenConsole() verwendet, braucht man nicht als konsolen-anwendung compilieren?

Verfasst: 16.10.2007 18:03
von freak
Unter Linux und OSX ist die Konsole ein separates Programm (sog. Terminal Emulator).
Man kann desshalb nicht einfach innerhalb des Programms ein Konsolefenster
öffnen, sondern die exe muss in einem Terminal gestartet werden um die
Eingabe/Ausgabe sehen zu können. Desshalb initiiert OpenConsole() hier nur
die Ausgabe für die Konsole, öffnet aber kein Fenster. Das lässt sich leider nicht ändern.

Einfach mal das erstellte Programm in einem Terminal starten, dann sollte das
auch funktionieren.

Die IDE hat aus diesem Grund auch unter Linux einen "Console" Modus in den
Compiler Optionen.
Das ändert zwar nichts am erstellten Programm (wie unter Windows), aber es veranlasst
die IDE dazu einen Terminal Emulator zu starten, und das Programm dann darin
auszuführen, damit man die Eingabe/Ausgabe beim Testen auch sieht.

note to self: Das muss mal in die Hilfe...