Forum: Mikrocontroller und Digitale Elektronik Errorparser in eclipse


von Steffen Graap (Gast)


Lesenswert?

Hallo

Ich benutze eclipse als Entwicklungsumgebung und compiliere den Code per 
Komanndozeilenaufruf über eine build.cmd

@echo off
"c:\Program Files\Keil\UV4\uv4.exe" -j0 -b TLV_Test.uvproj -o errors.txt
type errors.txt

Die Fehler werden dann mit einem Errorparser aus der Datei gesogen und 
angezeigt.

Severity Pattern                         File Line Description
Error    (.*)\((\d+)\):\s+error:\s+(.*)   $1   $2   make: $3
Warning  (.*)\((\d+)\):\s+warning:\s+(.*) $1   $2   make: $3
Info     (.*)\((\d+)\):\s+info(.*)

Dies funktionier bei einem Einzelprojekt recht gut.

Ein Arbeitsprojekt besteht aber aus mehreren Modulen und dem 
Hauptprojekt. Jedes Modul wird als einzellnes Projekt in eclipse 
angelegt und über Projektreferez mit dem Hauptprojekt verbunden.
Tritt nun ein Fehler in einem Modulprojekt auf so wird dieser 
ordnungsgemäß in der Problemview und in der Codezeile angezeigt. Leider 
verschwindet die Fehlermarkeirung nach Fehlerbeseitigung und 
Neucompilierung nicht aus der IDE. Im oben erwähnten error-Datei sind 
die Fehler nicht mehr enthalten.ein manuelles Löschen aus der 
Problem-View ist möglich aber umständlich.
Fehler im Hautprojekt (welches das Keilprojekt beinhaltet und über 
build.cmd den Compilierungseinstieg bildet) werden erstellt und auch 
wieder automatisch entfernt.
Es sieht also so aus, als wenn in den referenzierten Projekte die 
Problemem nur hinzugefühgt werden aber nicht automatisch gelöscht 
werden.

Hat jemand einen Idee woran das liegen könnte??
Danke und Gruß Steffen

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Steffen Graap schrieb:
> Es sieht also so aus, als wenn in den referenzierten Projekte die
> Problemem nur hinzugefühgt werden aber nicht automatisch gelöscht
> werden.

So ist es (leider) und ich habe noch keinen Weg gefunden das zu umgehen. 
Das "Problem" ist, das halt das Buildscript hinten rum an der IDE vorbei 
arbeitet, bzw. der Compiler Fehler in "fremden" Quelldateien an meckert. 
Für die IDE ist das aber nicht ersichtlich weswegen die Fehlermarker 
nicht entfernt werden.

von Steffen Graap (Gast)


Lesenswert?

Mittlerer Weile hab ich eine Lösung gefunden.

Einerseits hatte ich bisjetzt die Modulprojekte in der 
Buildconfiguration so eingestellt das nichts ausgeführt wird. Dadurch 
wird auch nicht die Fehlerliste gelöscht. Also hab ich ein makefile 
erstellt was in jedem Hilfsprojekt liegt

makefile:

all:
  @echo Keine Ausgabe! Bitte im Hauptprojekt nachschauen.

clean:
  @echo

(auf Leerzeichen und Tabulatoren achten!)

Damit werden die Hilfsprojekte auch gebuildet -> alten Fehler gelöscht.
Nu gab es noch ein Problem, das zuerst das Hauptprojekt gebuildet wurde, 
die Fehler erzeugt und danach die Hilfsprojekte, die die Fehler wieder 
löschten.
Dies konnte verhindert werden indem im Hauptprojekt unter 
Projekt->Properties->C/C+ General->Paths and Symbols auf dem Reiter 
References das Hauptprojekt nach ganz oben geschoben wurde.

Gruß Steffen

< eclipse, eine Endlose Lehre >

von Jutsa (Gast)


Lesenswert?

@STeffen
warum hast Du keine GNU-Toolchain in Eclipse integriert, dann könntest 
Du doch den weg mit dem Einlesen der Datei sparen...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.