Compiler Fehlermeldung, Fehler finden

Gast #6778964
Lesenswert?

Hallo,

ich habe ein größeres C-Projekt, verwende ATStudio7 und Atmel Start.
Beim Compilieren kommen jetzt plötzlich viele Fehler dieser Art:
..."storage class specified for parameter 'torque_adjustments_t' 
DSA_V0.01 
P:\Entwicklung\Digitalaufnehmer-24Bit\SAME54_Clocktest\SAME54_Clocktest\ 
sensor_settings.h   59"
Ich weis noch vage, dass man den bekommt, wenn man bei einer Deklaration 
den Strichpunkt am Ende vergessen hat, aber ich finde keinen Fehler.
Das Projekt besteht schon aus vielen .c und h Dateien, die noch letzte 
Woche korrekt übersetzt wurden.
Gibt es irgend ein Tool, das nach solchen Fehlern sucht?
Wie kann ich die Fehlerstelle eingrenzen?
Moderator (Firma: Titel) Persönliche Seite #6778973
Lesenswert?

Elektrolurch schrieb:
> Beim Compilieren kommen jetzt plötzlich viele Fehler dieser Art:
> ..."storage class specified for parameter 'torque_adjustments_t'
> DSA_V0.01
> P:\Entwicklung\Digitalaufnehmer-24Bit\SAME54_Clocktest\SAME54_Clocktest\
> sensor_settings.h   59"
Wo ist da ein Fehler? Ich sehe da nur, dass eine Speicherklasse 
spezifiziert wurde...

> Ich weis noch vage, dass man den bekommt, wenn man bei einer Deklaration
> den Strichpunkt am Ende vergessen hat
Könnte sein. Könnte aber auch was andres sein.

> aber ich finde keinen Fehler.
Ich auch nicht.

> Gibt es irgend ein Tool, das nach solchen Fehlern sucht?
Ja, der Compiler tut das.

> Wie kann ich die Fehlerstelle eingrenzen?
Hast du an dieser Datei was geändert? Bekomst du diesen Fehler beim 
Compilieren jeder C-Datei in der dieser Header eingebunden ist? Hast du 
Headerdateien in andere Headerdateien eingebunden? Hast du die 
Reihenfolge der Headerdateien im C-Code geändert? Lässt sich die Version 
von vorgestern noch compilieren? Was sagt das Vergleichstool, wenn du 
die letzte compilierfähige Version mit der jetzigen vergleichst?
Gast #6779000
Lesenswert?

>> Hast du an dieser Datei was geändert?
Nicht willentlich, aber das Änderungsdatum zeigt, dass es diese Woche 
überschrieben wurde.

>>Lässt sich die Version von vorgestern noch compilieren? Was sagt das 
Vergeleichstool, wenn du die letzte compilierfähige Version mit der jetzigen 
vergleichst?

Die Dateien werden doch nach Änderung sofort überschrieben?
Macht ATStudio versteckte Backups?
Es sind 5 ziemlich umfangreiche Dateien mit Datum dieser Woche...
Welches Vergleichstool meinst du? Welches ist dafür gut?
Gast #6779007
Lesenswert?

Ich denke Lothar wollte damit andeuten dass es normal wäre bei einem 
solch "umfangreichen" Softwareprojekt ein regelmäßiges Backup zu machen.

Normalerweise nimmt man dafür ein Versionierungssytem, mit dem es 
möglich wäre jeden gewünschten Stand wiederherzustellen.
Bei allen mit bekannten Versicherungssystemen ist auch gleich noch ein 
Vergleichstool mit dabei. Damit könntest du die Unterschiede deines 
letzten funktionsfähigen Stand zu jetzt feststellen.
#6779018
Lesenswert?

Elektrolurch schrieb:
> Nicht willentlich, aber das Änderungsdatum zeigt, dass es diese Woche
> überschrieben wurde.

LOL. Es gibt seit mindestens 20 Jahren Versionierungssysteme. Es ist für 
mich absolut unverständlich, diese nicht zu nutzen. Und wenn es nur für 
einen selbst ist. Und nein man braucht dazu keinen Server: Git kommt mit 
dem normalen Dateisystem aus, im einfachsten Fall nur mit dem 
Projektordner.
Gast #6779026
Lesenswert?

Ich habe das Backup - schneller als gedacht.
Doch welches Programm eignet sich da am Besten dazu?
Oft wird man ja überschwemmt von den Änderungen, nur weil eine Leerzeile 
unterschiedlich ist.
Gast #6779032
Lesenswert?

Elektrolurch schrieb:
> Doch welches Programm eignet sich da am Besten dazu?

Zum Vergleich benutze ich unter Windows gerne Winmerge, unter Linux 
Meld.

> Oft wird man ja überschwemmt von den Änderungen,
> nur weil eine Leerzeile unterschiedlich ist.

Das kannst du in den genannten Programmen konfigurieren.

Normale Backups mache ich nur unregelmäßig alle 4-8 Wochen. Für meine 
Quelltexte reicht das nicht, um solche Fälle wie deinen 
nachzuvollziehen. An der Stelle hilft mir ein VCS (Versioning Control 
System).

Früher habe ich dazu Subversion benutzt, heute Git. Für beide braucht 
man keinen Server und sie können die oben genannten Programme einbinden. 
http://stefanfrings.de/git/index.html
Gast #6779060
Lesenswert?

Ich habe Notepad++ mit Compare-Extension benutzt und habe jetzt den 
Fehler gefunden:
Es war tatsächlich ein fehlender Strichpunkt hinter einer Deklaration in 
einer ganz anderen Datei.
Ich finde es schade, dass der Compiler bei sowas nicht wenigstens eine 
Warnung ausgibt. Meist ist ja der eigentliche Fehler viel weiter "oben",
oder wie hier, in einer anderen Datei.
Jedenfalls Danke an alle für eure Hilfe!
Moderator (Firma: Titel) Persönliche Seite #6779069
Lesenswert?

Elektrolurch schrieb:
> Die Dateien werden doch nach Änderung sofort überschrieben?
Ähm ja klar, DU SELBER musst natürlich 1x am Tag das Projektverzeichnis 
sichern, wenn du kein Managementsystem am Laufen hast.

Elektrolurch schrieb:
> Wir haben eine Server-seitiges Backup
Glück gehabt. Mach solche Sicherungen in Zukunft einfach selber.

Elektrolurch schrieb:
> Welches Vergleichstool meinst du? Welches ist dafür gut?
Ich nehme Beyond Compare. Aber auch Windiff (im Lieferumfang von Win10) 
ist besser als nichts.
Gast #6779070
Lesenswert?

Elektrolurch schrieb:
> Ich finde es schade, dass der Compiler bei sowas nicht wenigstens eine
> Warnung ausgibt.

Der arme Kompiler kann den Fehler erst erkennen, wenn das Kind im 
Brunnen liegt.

Hinzu kommt:
Leider sind die bisherigen C und C++ zu doof um deine Absichten im 
Vorfeld analysieren zu können.

Bedenke:
Eine Deklarationszeile, mit vergessenem ; ist erstmal gültige Syntax.
Das Kind fällt danach in den Brunnen.
Gast #6779140
Lesenswert?

Und ja, wenn ich den Fehler nochmal mache und kompiliere, finde ich nach 
einem Wust anderer Fehler tatsächlich "parameter name omitted".
Aber da alle anderen ja nur Folgefehler sind, fiel mir das nicht auf.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren