colorgcc...
colorgcc...
Hi,
also da ich schon seit langer Zeit es ziemlich lästig finde, wenn ich was programmiere dann nach den Fehler,der mir der compiler gibt in meiner konsole rumzusuchen, habe ich den Tip bekommen das colorgcc zu installieren,dass würde mir dann die Fehler in der Konsole farbig anzeigen so dass ich wunderbar die Fehler unterscheiden kann. Nun habe ich das acuh installiert aber irgendwie zeigt der mir noch immer das gleiche in schwarzer Schrift. Was mache ich falsch?Und gleich noch ne Frage, gibt es auch sowas für g++?
Gruß g4ul1x
also da ich schon seit langer Zeit es ziemlich lästig finde, wenn ich was programmiere dann nach den Fehler,der mir der compiler gibt in meiner konsole rumzusuchen, habe ich den Tip bekommen das colorgcc zu installieren,dass würde mir dann die Fehler in der Konsole farbig anzeigen so dass ich wunderbar die Fehler unterscheiden kann. Nun habe ich das acuh installiert aber irgendwie zeigt der mir noch immer das gleiche in schwarzer Schrift. Was mache ich falsch?Und gleich noch ne Frage, gibt es auch sowas für g++?
Gruß g4ul1x
Aus der Man-Page zu colorgcc:
At your shell prompt, set your CC environment variable to 'colorgcc'. This may be done in several different ways, depending on what shell you use.
In a Bourne-compatible shell (bash, ash, zsh, pdksh), type:
export CC="colorgcc"
In a C shell variant (csh, tcsh), type:
setenv CC "colorgcc"
Refer to your shell's documentation for more information on setting environment variables.
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Besser alias gcc=colorgcc setzen - dann funktionierts auch wenn du gcc direkt aufrufst.
CC-Umgebungsvariable funktioniert nur wenn du ein makefile oder so verwendest das die Variable auch ausliest - nicht aber beim Direktaufruf von gcc.
Gibts sowas auch für g++ und gcj? - Ah, scheint das geht doch irgendwie. Mal gucken. Symlinks helfen - wie im Script beschrieben
MfG Peschmä
CC-Umgebungsvariable funktioniert nur wenn du ein makefile oder so verwendest das die Variable auch ausliest - nicht aber beim Direktaufruf von gcc.
Gibts sowas auch für g++ und gcj? - Ah, scheint das geht doch irgendwie. Mal gucken. Symlinks helfen - wie im Script beschrieben
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
Mit g++ nicht, colorgcc unterstützt nur gcc.
Einfach anstattschreiben:
Einfach anstatt
Code: Alles auswählen
gcc Datei.c [weitere optionen]
Code: Alles auswählen
colorgcc Datei.c [weitere optionen]
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Das stimmt jetzt nicht - wie oben wohl zu kurz geschrieben:
Symlink /usr/local/colorgcc/g++ -> colorgcc
Symlink /usr/local/colorgcc/gcc -> colorgcc
und das richtige wird (/usr/bin/g++ bzw. /usr/bin/gcc aufgerufen). Natürlich gucken dass /usr/local/colorgcc vor /usr/bin im PATH liegt...
MfG Peschmä
Symlink /usr/local/colorgcc/g++ -> colorgcc
Symlink /usr/local/colorgcc/gcc -> colorgcc
und das richtige wird (/usr/bin/g++ bzw. /usr/bin/gcc aufgerufen). Natürlich gucken dass /usr/local/colorgcc vor /usr/bin im PATH liegt...
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
- BeS
- Moderator
- Beiträge: 3236
- Registriert: 17.04.2002 18:30:21
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Stuttgart
-
Kontaktdaten:
naja, schöner als im Verzeichnisbaum irgendwelche links um zu biegen wäre es, wenn man einfach in seine ~/.bashrc ein:peschmae hat geschrieben:Das stimmt jetzt nicht - wie oben wohl zu kurz geschrieben:
Symlink /usr/local/colorgcc/g++ -> colorgcc
Symlink /usr/local/colorgcc/gcc -> colorgcc
alias gcc=colorgcc
einträgt.
Wie bereits gesagt wurde, c++ funktioniert mit colorgcc nicht, den g++ mußt du also erst garnicht umleiten.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support
Ich spreche von Freier Software!
Ich spreche von Freier Software!
hmm komisch hier wird doch aber auch g++ ausgeführt...
http://www.mindspring.com/~jamoyers/sof ... lorgcc.gif
oda sehe ich das was falsches?
http://www.mindspring.com/~jamoyers/sof ... lorgcc.gif
oda sehe ich das was falsches?
- BeS
- Moderator
- Beiträge: 3236
- Registriert: 17.04.2002 18:30:21
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Stuttgart
-
Kontaktdaten:
ja, sieht so aus. Dann ist nur die Frage wie man ihn aufrufen muß?g4ul1x hat geschrieben:hmm komisch hier wird doch aber auch g++ ausgeführt...
http://www.mindspring.com/~jamoyers/sof ... lorgcc.gif
oda sehe ich das was falsches?
Ich habe es bisher noch nicht geschafft mit colorgcc C++ code zu kompilieren.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support
Ich spreche von Freier Software!
Ich spreche von Freier Software!
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Ack, wenn man das so machst wie du sagst dann funktioniert:BeS hat geschrieben: naja, schöner als im Verzeichnisbaum irgendwelche links um zu biegen wäre es, wenn man einfach in seine ~/.bashrc ein:
alias gcc=colorgcc
einträgt.
das mit g++ nicht. Aber wenn man mir zuhören würde dann würde das auch gehenWie bereits gesagt wurde, c++ funktioniert mit colorgcc nicht, den g++ mußt du also erst garnicht umleiten.
Nur durch wiederholen werden falsche Dinge auch nicht richtiger...
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
- vicbrother
- Beiträge: 1016
- Registriert: 23.12.2001 11:15:07
- Wohnort: Hamburg
peschmae: Ich habe mir auch den colorgcc geinstet (Farben auf der Konsole finde ich toll ) und in der manpage steht doch alles drin:
CC=colorgcc setzen, dann /etc/colorgcc/colorgccrc bearbeiten. Da gibt es doch Pfadangaben zu g++ und gcc Welche Probleme seht ihr da? (Habe hier derzeit leider kein übersetzungswürdigen Source).
CC=colorgcc setzen, dann /etc/colorgcc/colorgccrc bearbeiten. Da gibt es doch Pfadangaben zu g++ und gcc Welche Probleme seht ihr da? (Habe hier derzeit leider kein übersetzungswürdigen Source).
Debian GNU/Linux "unstable" + KDE4 @ Dell Precision M6400
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
- BeS
- Moderator
- Beiträge: 3236
- Registriert: 17.04.2002 18:30:21
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Stuttgart
-
Kontaktdaten:
@peschmae: du biegst halt noch den g++ link um, man kann aber auch einfach für den g++ noch einen alias in der .bashrc setzen. Die .bashrc bleibt also der elegantere Weg
Nochmal zum eigentlichen Problem. Also es ist ja mal egal wie und ob man irgendwelche links herstellt. Letztlich kann man auch einfach colorgcc aufrufen. Aber wie oder wann soll das jetzt mit C++ funktionieren? Wenn ich 'colorgcc hello.cc' aufrufe bekomme ich eine Reihe von Fehlermeldungen genauso wie wenn ich versuchen würde das Programm mit dem gcc zu kompilieren. Hat hier wirklich schonmal jemand C++ code mit colorgcc kompiliert und wenn ja wie?
Nochmal zum eigentlichen Problem. Also es ist ja mal egal wie und ob man irgendwelche links herstellt. Letztlich kann man auch einfach colorgcc aufrufen. Aber wie oder wann soll das jetzt mit C++ funktionieren? Wenn ich 'colorgcc hello.cc' aufrufe bekomme ich eine Reihe von Fehlermeldungen genauso wie wenn ich versuchen würde das Programm mit dem gcc zu kompilieren. Hat hier wirklich schonmal jemand C++ code mit colorgcc kompiliert und wenn ja wie?
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support
Ich spreche von Freier Software!
Ich spreche von Freier Software!
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Ja, aber dann weiss colorgcc ja nicht dass er g++ aufrufen soll. Deshalb ruft er wie per default halt gcc auf.BeS hat geschrieben:@peschmae: du biegst halt noch den g++ link um, man kann aber auch einfach für den g++ noch einen alias in der .bashrc setzen. Die .bashrc bleibt also der elegantere Weg
Elegant aber trotzdem gradus id muur würde ein Kollege von mir jetzt sagen.
Du glaubst mir nicht, gell? Aber es geht immer noch so wie ichs oben geschrieben habe.Nochmal zum eigentlichen Problem. Also es ist ja mal egal wie und ob man irgendwelche links herstellt. Letztlich kann man auch einfach colorgcc aufrufen. Aber wie oder wann soll das jetzt mit C++ funktionieren? Wenn ich 'colorgcc hello.cc' aufrufe bekomme ich eine Reihe von Fehlermeldungen genauso wie wenn ich versuchen würde das Programm mit dem gcc zu kompilieren. Hat hier wirklich schonmal jemand C++ code mit colorgcc kompiliert und wenn ja wie?
Steht auch so im Script selber:
d.h. colorgcc wertet $0 aus um rauszufinden als was es aufgerufen wurde. Wenn ein Programm via einen Symlink aufgerufen wird steht in $0 nämlich nicht der eigentliche Programmname (colorgcc) sondern der Name des Symlinks - halt das was auf der Kommandozeile stand - also g++.# Usage:
#
# In a directory that occurs in your PATH _before_ the directory
# where the compiler lives, create a softlink to colorgcc for
# each compiler you want to colorize:
#
# g++ -> colorgcc
# gcc -> colorgcc
# cc -> colorgcc
# etc.
#
# That's it. When "g++" is invoked, colorgcc is run instead.
# colorgcc looks at the program name to figure out which compiler to run.
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
- vicbrother
- Beiträge: 1016
- Registriert: 23.12.2001 11:15:07
- Wohnort: Hamburg
Warum gibt es den Link /usr/bin/gcc -> gcc-3.3 wenn auch gcc-3.4 geinstet ist?? Wird der nicht automatisch auf den neusten gesetzt?
Debian GNU/Linux "unstable" + KDE4 @ Dell Precision M6400
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
- BeS
- Moderator
- Beiträge: 3236
- Registriert: 17.04.2002 18:30:21
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Stuttgart
-
Kontaktdaten:
OK, jetzt gehts.
Ich sehe auch erst jetzt, dass du für die links ein extra Verzeichnis angelegt hast. Am Anfang dachte ich, dass du die links in /bin umbiegst.
Also ich habe es jetzt mit gcc, g++ und gcj versucht, funktioniert alles.
Ada wollte ich auch testen, aber da kennt colorgcc nur den Befehl gnat, ich übersetze Ada Programme aber immer mit gnatmake, weiß garnicht wie das mit gnat gehen soll...
Mal schauen, vielleicht lege ich mal selber etwas Hand an das script an
EDIT: Habe jetzt einfach im script gnat durch gnatmake ersetzt und jetzt geht es auch mit Ada
Ich sehe auch erst jetzt, dass du für die links ein extra Verzeichnis angelegt hast. Am Anfang dachte ich, dass du die links in /bin umbiegst.
Also ich habe es jetzt mit gcc, g++ und gcj versucht, funktioniert alles.
Ada wollte ich auch testen, aber da kennt colorgcc nur den Befehl gnat, ich übersetze Ada Programme aber immer mit gnatmake, weiß garnicht wie das mit gnat gehen soll...
Mal schauen, vielleicht lege ich mal selber etwas Hand an das script an
EDIT: Habe jetzt einfach im script gnat durch gnatmake ersetzt und jetzt geht es auch mit Ada
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support
Ich spreche von Freier Software!
Ich spreche von Freier Software!
- BeS
- Moderator
- Beiträge: 3236
- Registriert: 17.04.2002 18:30:21
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Stuttgart
-
Kontaktdaten:
Hallo,
Ada95 ist imho eine sehr schöne Programmiersprache. Ich muß aber sagen, dass ich sie seit den ersten 2 Semestern meines Studiums auch so gut wie nicht mehr verwendt habe. Ada95 ist sehr gut lesbar, weshalb sie auch gut für Einsteiger geeignet ist. Ein Prof. hat sogar mal gesagt (ich hoffe ich bekomme es richtig zusammen), dass es Untersuchungen gibt nachdenen bei allen Programmiersprachen die Lesbarkeit expotentiell sinkt in der Abhängigkeit von der größe des Programms, nur bei Ada95 soll es linear sein. Es gibt zwar keine wirkliche Erklärung dafür aber es soll nach mehreren Untersuchungen so sein.
Ansonsten wird Ada95 vorallem in der Industrie sehr oft eingesetzt. Daimler-Chrysler arbeitet afaik z.B. viel mit Ada95 und die US Air Force hat vor einigen Jahren sogar die Entwicklung des GNU Ada95 Compiler finanziert. Vorallem auch in Sicherheitskritischen Bereichen, also wo man sich darauf verlassen muß dass das Programm fehlerfrei funktioniert, soll Ada95 sehr beliebt sein (z.B. auch NASA, ESA usw.)
Ada95 ist imho eine sehr schöne Programmiersprache. Ich muß aber sagen, dass ich sie seit den ersten 2 Semestern meines Studiums auch so gut wie nicht mehr verwendt habe. Ada95 ist sehr gut lesbar, weshalb sie auch gut für Einsteiger geeignet ist. Ein Prof. hat sogar mal gesagt (ich hoffe ich bekomme es richtig zusammen), dass es Untersuchungen gibt nachdenen bei allen Programmiersprachen die Lesbarkeit expotentiell sinkt in der Abhängigkeit von der größe des Programms, nur bei Ada95 soll es linear sein. Es gibt zwar keine wirkliche Erklärung dafür aber es soll nach mehreren Untersuchungen so sein.
Ansonsten wird Ada95 vorallem in der Industrie sehr oft eingesetzt. Daimler-Chrysler arbeitet afaik z.B. viel mit Ada95 und die US Air Force hat vor einigen Jahren sogar die Entwicklung des GNU Ada95 Compiler finanziert. Vorallem auch in Sicherheitskritischen Bereichen, also wo man sich darauf verlassen muß dass das Programm fehlerfrei funktioniert, soll Ada95 sehr beliebt sein (z.B. auch NASA, ESA usw.)
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support
Ich spreche von Freier Software!
Ich spreche von Freier Software!
- BeS
- Moderator
- Beiträge: 3236
- Registriert: 17.04.2002 18:30:21
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Stuttgart
-
Kontaktdaten:
Hallo,
dann will ich jetzt mal mein neu erworbenes Wissen zur Schau stellen, ansonsten kann peschmae mich ja korrigieren
- du legst dir ein Verzeichnis an, z.B. /usr/local/colorgcc
- dort erstellst du symlinks zu colorgcc für alle Kompiler die du mit colorgcc verwenden willst, also für g++ z.B. ln -s /usr/bin/g++ g++ (du mußt natürlich im Verzeichnis /usr/local/colorgcc sein).
- jetzt mußt du /usr/local/colorgcc noch in deine PATH hängen, dass kannst du so machen: PATH=/usr/local/colorgcc:"${PATH}"
Am besten du trägst dir das in deine ~/.bashrc ein, damit der Pfad in Zukunft automatisch angehängt wird.
- jetzt sollte es mit dem g++ funktionieren.
dann will ich jetzt mal mein neu erworbenes Wissen zur Schau stellen, ansonsten kann peschmae mich ja korrigieren
- du legst dir ein Verzeichnis an, z.B. /usr/local/colorgcc
- dort erstellst du symlinks zu colorgcc für alle Kompiler die du mit colorgcc verwenden willst, also für g++ z.B. ln -s /usr/bin/g++ g++ (du mußt natürlich im Verzeichnis /usr/local/colorgcc sein).
- jetzt mußt du /usr/local/colorgcc noch in deine PATH hängen, dass kannst du so machen: PATH=/usr/local/colorgcc:"${PATH}"
Am besten du trägst dir das in deine ~/.bashrc ein, damit der Pfad in Zukunft automatisch angehängt wird.
- jetzt sollte es mit dem g++ funktionieren.
Deine Unterstützung für Freie Software kostet dich nur wenige Minuten: www.fsfe.org/support
Ich spreche von Freier Software!
Ich spreche von Freier Software!
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Machen wir doch gerneBeS hat geschrieben:Hallo,
dann will ich jetzt mal mein neu erworbenes Wissen zur Schau stellen, ansonsten kann peschmae mich ja korrigieren
Kleiner Vertippser:
nicht ln -s /usr/bin/g++ g++- dort erstellst du symlinks zu colorgcc für alle Kompiler die du mit colorgcc verwenden willst, also für g++ z.B. ln -s /usr/bin/g++ g++ (du mußt natürlich im Verzeichnis /usr/local/colorgcc sein).
sondern ln -s /usr/bin/colorgcc g++
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
- vicbrother
- Beiträge: 1016
- Registriert: 23.12.2001 11:15:07
- Wohnort: Hamburg
Da stelle ich jetzt auchnochmal ne Frage:
auf was zeigt colorgcc nun? Auf den aktuellsten gcc oder irgendeinen der installiert ist? Bei mir sind gcc-3.3,-3.4 und -4.0 drauf, eine Umgebungsvariable CC enthielt gcc-3.4, /usr/bin/gcc zeigt aber auf gcc-3.3. Das ist doch etwas chaotisch oder?
auf was zeigt colorgcc nun? Auf den aktuellsten gcc oder irgendeinen der installiert ist? Bei mir sind gcc-3.3,-3.4 und -4.0 drauf, eine Umgebungsvariable CC enthielt gcc-3.4, /usr/bin/gcc zeigt aber auf gcc-3.3. Das ist doch etwas chaotisch oder?
Debian GNU/Linux "unstable" + KDE4 @ Dell Precision M6400
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -
T9600 - 4GB RAM - 2x160GB RAID0 - nVIDIA Quadro FX 3700M - 17" WUXGA RGB LED - Webcam - Backlit Keyboard - UMTS - 9 Cell Battery -