ubuntuusers.de

Code::Blocks führt die Programme nicht aus

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

newhippie

Anmeldungsdatum:
4. Januar 2009

Beiträge: Zähle...

Wohnort: Leipzig

Hallo, ich habe mich nach langem Überlegen für Code::Blocks entschieden (brauche ein wenig C Programmierung und auch für Windows) und habe nun eine Frage an die erfahrenen Menschen hier.

Warum kann ich das einfache "Hello World!" Projekt nicht ausführen? Es erscheint keine Konsole. Weder Xterm noch gnome-terminal.

Der Befehl für die Konsole lautet bei mir in den Einstellungen: "gnome-terminal -x". So stand es irgendwo im Netz.

Das Debuggen geht aber (ein wird das Terminal geöffnet, schließt dann aber gleich wieder, sobald das Programm fertig ist).

Und auch sonst ist alles richtig, denn ich kann das Programm ohne Fehler manuell aus dem Ordner starten.

Hat Jemand auch solche Probleme gehabt? Kann da einer mir helfen.

Die Version von Code::Blocks ist: SVN 6525.

Ich habe Ubuntu 10.4, 64 bit.

Danke schon mal.

Willem

Anmeldungsdatum:
3. August 2010

Beiträge: 30

Hallo,

was wird dann, beim, während oder nach dem Debuggen, für eine Fehlermeldung ausgegeben?

Auf Ubuntu und Opensuse läuft Code::Blocks eigentlich "wie von alleine". Ich hatte da noch niemals irgendwelche Schwierigkeiten. (Hast du überhaupt schon einen Compiler installiert?)

Übrigens, mit einem:

cin.get(); 
getchar();
return 0;

am ende deines Programm, verhinderst du das schnelle Schließen der Konsolenausgabe. Kann man auch noch anders machen, natürlich, aber ich selbst schreibe das immer in dieser Form. (Ist aber bei Code::Blocks eigentlich nicht nötig, macht Code::Blocks von "zu Hause" aus, im Gegensatz zu Visual C++, das muss man dem erst immer beibringen.)

Grüße

Willem

newhippie

(Themenstarter)

Anmeldungsdatum:
4. Januar 2009

Beiträge: 248

Wohnort: Leipzig

Wie gesagt, er kompiliert ja alles (ich verwende GCC).

Und das Programm kann auch ausgeführt werden, blos eben von Hand. Und das ist nervig.

Hier ist alles, was Debugger ausgibt:

Erstelle um zu gewährleisten das dieDateien auf Letzstand sind
Erstellen erfolgreich
Ziel wählen: 
Release
Adding source dir: /home/stanislav/Desktop/Test1/
Adding source dir: /home/stanislav/Desktop/Test1/
Adding file: bin/Release/Test1
Starte Debugger: 
erledigt
Neuen Typ registriert: wxString
Neuen Typ registriert: STL String
Neuen Typ registriert: STL Vector
Setze Haltpunkt
Reading symbols from /home/stanislav/Desktop/Test1/bin/Release/Test1...(no debugging symbols found)...done.
Debugger Nameund Version: GNU gdb (GDB) 7.1-ubuntu
Program exited normally.
Debugger wurde mit Status 0 beendet

Und das schlimme ist ja, dass er nicht einmal xterm aufmacht.

Und danke für den Trick, ich habe auch so was ähnliches gehabt, aber deine Variante ist kürzer 😉.

newhippie

(Themenstarter)

Anmeldungsdatum:
4. Januar 2009

Beiträge: 248

Wohnort: Leipzig

Habe jetzt folgendes probiert, geht aber leider auch nicht:

Gnome:

gnome-terminal -e $TITLE

und xterm:

xterm -T $TITLE -e

Willem

Anmeldungsdatum:
3. August 2010

Beiträge: 30

Hmmm, alles recht seltsam. Arbeitest du mit wxWidgets?

Diese Art von Fehlermeldung hatte ich noch nicht. Nun denn, ich empfehle dir einen Besuch an den Quellen. Hier dann:

http://forums.codeblocks.org/

Vielleicht wissen die Jungs dort weiter. Wenn nicht, hier dann:

http://www.c-plusplus.de/forum/index.php

findet man (fast) immer Hilfe.

Grüße,

Willem

spectre210

Anmeldungsdatum:
26. Februar 2010

Beiträge: 118

Welchen Wert hast du bei: Shell to run commands in

kringel

Avatar von kringel

Anmeldungsdatum:
7. September 2005

Beiträge: 2434

Wohnort: Gummersbach

In einem einfachen Terminal (also nicht in codeblocks)

gconftool --set -t string /apps/gnome-terminal/profiles/Default/exit_action "hold"

Und in Codeblocks die Zeile fürs zu startende Terminal wie folgt anpassen:

gnome-terminal -x --window-with-profile=Default

Codeblocks neustarten. Mal testen.

EDIT: Ansonten am Ende jedes Programms, bei dem es nötig wird, anfügen:

getchar();
return 0; //sowieso

newhippie

(Themenstarter)

Anmeldungsdatum:
4. Januar 2009

Beiträge: 248

Wohnort: Leipzig

Das ist der Wert für die Shell: /bin/sh -c

spectre210

Anmeldungsdatum:
26. Februar 2010

Beiträge: 118

Die habe ich auch.

Kannst du mir mal den Source-Code zeigen.

Desweiteren: kannst du mir sagen ob das Programm[gnome-terminal oder xterm] überhaupt kurz aufgerufen wurde oder nicht. Dies kannst du in einer Process-tabelle verfolgen mit dem Befehl: top im gnome-terminal. Wenn du fertig mit compilieren bist, müsste doch der Prozess xterm -T $TITLE -e kurz angezeigt werden. Wenn nicht wird dein Programm erst gar nicht aufgerufen. Wenn es jedoch kurz im top-table angezeigt wird, könnte man eine Routine als Alternative einfügen.

Doch erstmal will ich wissen, ob der Befehl: xterm -T $TITLE -e als eigenständiger Prozess[xterm] angezeigt wird.

Willem

Anmeldungsdatum:
3. August 2010

Beiträge: 30

Hast du schon einmal unter Settings und dort unter Compiler and Debugger, dann unter Global Settings und dort wieder unter dem Tab - Toolchain executables nachgeschaut, ob unter den Program Files dann gcc, g++, gbd und make auch erkannt und gespeichert wurden, von CodeBlocks? (Musst dir den dementsprechenden Tab nach - "links erklicken", damit dieser dann auch "erscheint".)

newhippie

(Themenstarter)

Anmeldungsdatum:
4. Januar 2009

Beiträge: 248

Wohnort: Leipzig

xterm -T $TITLE -e funktioniert nicht. Also es erscheint gar nicht das xterm bei top.

@Willem: Und die Einstellungen habe ich als Bild im Anhang reingestellt.

Bilder

Willem

Anmeldungsdatum:
3. August 2010

Beiträge: 30

Mit den Einstellungen ist alles so wie es sein soll. Jedenfalls in den Debugger and Compileroptionen. (Hast du an anderen Stellen noch Einstellungen vorgenommen, die vielleicht nicht so...)

Hmmm. Auf Ubuntu habe ich die 8.02er Version. Auf Opensuse hatte ich auch die SVN - Version und auf dem "Unaussprechlichen System" die 10.05er. Alles lief reibungslos. Ich würde, an deiner Stelle, die SVN Version restlos und mit allen "Nebenschnickschnack" deinstallieren. CodeBlocks dann mit der 8.02 Version und mit allen Plugins und "Devel" und was da noch so ist, neu installieren. Ersteinmal. Vielleicht ist bei der nächsten Ubuntu Version schon die 10.05 dabei und die kommt ja in ein "paar" Tagen.

CodeBlocks ist gut, sehr gut, für mich jedenfalls die beste Option und Alternative, wenn es um C, ANSI-C++ und wxWidgets geht. Leider haben da die Redmon(s)ter mit ihren Visual C++ etwas wirklich Erstklassiges. Und dann noch BOOST dazu..., ist schon nicht schlecht. (Manchmal schaut man etwas neidisch in Richtung der Javanesen, wegen NetBeans...)

Versuchs einfach noch einmal und ganz von vorn.

Ich habe noch ein PDF - Manu in, teilweise, deutscher Übersetzung eingestellt. Vielleicht hilft es dir weiter.

CodeBlocksManual.pdf (1.2 MiB)
CodeBlocks Manual deutsch
Download CodeBlocksManual.pdf

Willem

Anmeldungsdatum:
3. August 2010

Beiträge: 30

Ich habe noch ein CodeBlocks PDF - Manual eingestellt, größtenteils in deutsch. Vielleicht hilft es dir weiter. (Siehe meinen letzten Beitrag.)

spectre210

Anmeldungsdatum:
26. Februar 2010

Beiträge: 118

Ich glaube ich habe das Problem gelöst.

Ich hatte lange Zeit nicht diesen Befehl: reading debugging Symbols bei mir. Aber als ich eine Option aktiviert habe, kam dieser Fehler.

Du musst bei Einstellungen->Compiler und Debugger Einstellungen bei dem Tab: Compiler flags[englisch] die Option:

Strip All Symbols from binary (minimizes size) [-s] deaktivieren.

Ich zeige es dir nochmal im Bild: compiler_and_debugger_settings.png

Bilder

newhippie

(Themenstarter)

Anmeldungsdatum:
4. Januar 2009

Beiträge: 248

Wohnort: Leipzig

Habe jetzt SVN 6647 und jetzt geht es mit : gnome-terminal -x

Danke schön...

Man bin ich froh.

Antworten |