Merkwürdige Fehler mit avr-gcc mit Eclipse

OP #4359299
Lesenswert?

Ich versuche ein altes Projekt mit avr-gcc zu compilieren und laufe auf 
sehr merkwürdige Fehler.

Der Compiler ist avr-gcc (GCC) 4.8.2 mit Eclipse Version: Mars.1 Release 
(4.5.1) Build id: 20150924-1200

Es ist die erste Zeile mit Fehler, es folgen weitere Merkwürdigkeiten.

Die Fehlermeldungen lauten:
1
Symbol 'TWPS0' could not be resolved
2
Symbol 'TWPS1' could not be resolved

Was soll das denn?
Angehängte Dateien:
#4359383
Lesenswert?

Das ist eine Fehlermeldung von der Syntaxprüfung des Editors. Der kann 
nicht alle Includes auflösen. Das Projekt wird vermutlich trotzdem 
compilieren.

Irgendwo in den Optionen kannst du die Syntaxprüfung des Editors 
ausschalten, dann verschwinden all diese Falschmeldungen.

Oliver
OP #4359641
Lesenswert?

Bernd K. schrieb:
> klick wieder auf OK und das Problem sollte weg sein.

Leider nicht. Der einzige Unterschied ist, dass der Fehler eine Zeile 
höher gerutscht ist.

Es sieht so aus, als würde er keines der AVR-Typspezifischen Defines 
kennen, obwohl dieser Test anschlägt:
1
#ifdef TWPS0
2
#error TWPS0 ist definiert
3
#endif

Zudem werden sämtliche typedefs aus stdint.h, wie z.B. uint8_t, als 
unbekannt moniert.
OP #4360789
Lesenswert?

Oliver S. schrieb:
> Da kannst du den Wahnsinn sogar feinjustieren :)

Ich hab erst mal alles abgeklemmt und das hatte zumindest zu Folge, dass 
keine Fehlermeldungen mehr kommen und der Compiler glatt durch läuft...

Eclipse ist eine eierlegende Wollmichsau, die vor lauter Wollmilcheiern 
nicht mehr laufen kann.

Nur der 64-Bit-Firefox ist lahmarschiger.
#4361385
Lesenswert?

Oliver S. schrieb:
> Deaktivier doch einfach die Eclipse-Syntaxprüfung

Das ist grober Unfug. Wenn Eclispe die Includes nicht findet dann kann 
er auch gleich Notepad statt Eclispe nehmen denn dann wird auch das 
komplette Code-Assist und die Navigation im Code nicht mehr gehen, wozu 
braucht er dann überhaupt noch ne IDE?

Der korrekte Weg ist das einmal richtig zu konfigurieren so daß in 
Zukunft immer alles geht anstatt einfach alle Features zu deaktivieren 
derentwegen man das Produkt überhaupt verwendet.
OP #4362449
Lesenswert?

Bernd K. schrieb:
> Das ist grober Unfug. Wenn Eclispe die Includes nicht findet dann kann
> er auch gleich Notepad statt Eclispe nehmen denn dann wird auch das
> komplette Code-Assist und die Navigation im Code nicht mehr gehen, wozu
> braucht er dann überhaupt noch ne IDE?

Ist es nicht. Grober Unfug ist Eclipse mit seiner aberwitzigen 
Hintergrundwerkelei. Das Ding ist ätzend langsam, nur Firefox ist 
schlimmer...
#4362763
Lesenswert?

Bernd K. schrieb:
> Der korrekte Weg ist das einmal richtig zu konfigurieren so daß in
> Zukunft immer alles geht

Ist ja prinzipiell richtig, nur leider im Falle von Eclipse (und 
besonders der bescheuerten Syntaxprüfung) ein frommer Wunschtraum.

Uhu U. schrieb:
> Bernd K. schrieb:
>> klick wieder auf OK und das Problem sollte weg sein.
>
> Leider nicht. Der einzige Unterschied ist, dass der Fehler eine Zeile
> höher gerutscht ist.

Oliver
#4363092
Lesenswert?

Oliver S. schrieb:
> Ist ja prinzipiell richtig, nur leider im Falle von Eclipse (und
> besonders der bescheuerten Syntaxprüfung) ein frommer Wunschtraum.

Komisch, bei den meisten Leuten ist der der Traum Realität, so zum 
Beispiel auch bei mir: im Verlauf des letzen Jahres hab ich Eclipse auf 
mindestens 4 verschiedenen neuen Rechnern neu aufgesetzt (1*Kubuntu, 
2*Win7, 1*Win10) und überall manifestierte sich der Traum gleich im 
ersten Anlauf ganz von selbst in der Realität.
#4363204
Lesenswert?

> Carl D. schrieb:
>> Beide Programme leben vom Hauptspeicher. Wenn man damit nicht geizt,
>> dann klappt das schon.
>
> Meine Mühle hat 16 GB, davon frei sind meistens > 50% - was daran da
> "geizig" sein soll, musst du erklären.
>
>> Schreibt ein Nichtraucher aus einer halbrauchenden Familie.
>
> Was soll das denn?

1. Bei mir läuft Eclipse und Firefox parallel auf 4Gb ohne unzumutbare 
Wartezeiten. OS ist Linux. Und ja ich hab das auch Windows7 im Einsatz, 
da sollte es eher das Doppelte sein.

2. Es ging (im nichtzitierten Text) um einen Vergleich der Kosten für 
Speicher mit (für manche) gängigen Verbrauchswaren. Kann man mit dem 
rausgerupften Textfragment nur nicht erkennen.

Zu "16G und trotzdem langsam": Eclipse hat eine Konfigurationsdatei für 
den Start der Java-VM. Wenn da noch der Defaultwert von 512Mb drinsteht, 
dann kann man das durch mehr RAM nicht ändern. Da muß man mit einem 
Texteditor ran. Wie das geht steht z.B. hier:

http://stackoverflow.com/questions/15313393/how-to-increase-application-heap-size-in-eclipse
OP #4363242
Lesenswert?

Carl D. schrieb:
> 2. Es ging (im nichtzitierten Text) um einen Vergleich der Kosten für
> Speicher mit (für manche) gängigen Verbrauchswaren. Kann man mit dem
> rausgerupften Textfragment nur nicht erkennen.

Sorry, es ging um völlig irrelevante und falsche Unterstellungen und 
damit vollkommen am Thema vorbei und was du von irgendwelchen 
Suchtmitteln hälst, interessiert nicht.

Carl D. schrieb:
> Zu "16G und trotzdem langsam": Eclipse hat eine Konfigurationsdatei für
> den Start der Java-VM. Wenn da noch der Defaultwert von 512Mb drinsteht,
> dann kann man das durch mehr RAM nicht ändern. Da muß man mit einem
> Texteditor ran. Wie das geht steht z.B. hier:

Warum schreibst du dann erst so einen hanebüchenen Blödsinn? Warum nicht 
gleich so?


Ich habe den Speicher auf 2GB gesetzt - schneller ist das Teil jetzt, 
aber von wirklich schnell ist es noch weit entfernt. Ich sehe noch immer 
das Geruckel im File Explorer.

Außerdem ist das Ursprungsproblem - hunderte völlig blödsinniger 
Fehlermeldungen von der Eclipse-Syntaxprüfung - noch immer da, wenn ich 
die Syntaxprüfung einschalte.

Wie bekomme ich die weg?

Ich hoffe, dir ist klar, dass es sich um AVR-Projekte mit dem AVR-Plugin 
dreht - bei Linux-Projekten gibts den Spuk nicht.
#4363290
Lesenswert?

> Ich hoffe, dir ist klar, dass es sich um AVR-Projekte mit dem
> AVR-Plugin dreht - bei Linux-Projekten gibts den Spuk nicht.

Ich schrieb: OperatingSystem ist Linux.
Was ich nicht schrieb: auch ich verwende das AVR-Plugin und ja ich kenne 
dieses Phänomen auch und ich lese hier mit, um eventuell Infos abstäuben 
zu können. Denn bisher hab ich auch nach der Devise "nur der GCC sagt 
die Wahrheit" gearbeitet. Leider war ich heute Abend zu faul, irgend was 
von dem geschriebenen auszuprobieren.
(Und es war nicht beabsichtigt, irgend eine Genusshandlung zu 
kritisieren, es ging rein um den Vergleich von Geldbeträgen)
Gast #4364109
Lesenswert?

Einmal im Projekt sauber den Include Pfad unter C/C++ General -> Paths 
and Symbols setzen und danach den Index neu aufbauen, dann sollte 
Schluss mit den Fehlern sein. Ansonsten ist an anderer Stelle etwas grob 
verbastelt. Syntaxprüfung deaktivieren ist Unsinn, dann kann man auch 
ganz auf Eclipse verzichten.
OP #4364161
Lesenswert?

no-use-for-a-name schrieb:
> Einmal im Projekt sauber den Include Pfad unter C/C++ General -> Paths
> and Symbols setzen und danach den Index neu aufbauen, dann sollte
> Schluss mit den Fehlern sein.

Dann verrate mir mal, was ich dort - außer den im Anhang aufgeführten 
Pfaden noch alles hinterlegen soll. Die Pfade existieren und enthalten 
die Dateien, die angeblich nicht gefunden werden.

> Syntaxprüfung deaktivieren ist Unsinn, dann kann man auch
> ganz auf Eclipse verzichten.

Ich bin 40 Jahre ohne solche Gimmics ausgekommen und sehe schlicht 
keinen Sinn darin. Schon gar nicht, wenn dadurch die normale Arbeit am 
Programmtext gestört wird, z.B. durch ruckeln.
Angehängte Dateien:
#4364170
Lesenswert?

Uhu U. schrieb:

> Ich bin 40 Jahre ohne solche Gimmics ausgekommen und sehe schlicht
> keinen Sinn darin. Schon gar nicht, wenn dadurch die normale Arbeit am
> Programmtext gestört wird, z.B. durch ruckeln.

Eine sehr gute Frage! :-))

Ich benutze einfach nur Kate mit Syntax Highlighting und C++ Helper 
Plugin und komme damit sehr gut zurecht.

Das Einzige was ich noch vermisse wäre eine Anzeige von 
Funktionsargumenten, wenn man eine Funktion beginnt zu tippen ...
OP #4364462
Lesenswert?

_AVR_ATmega328P_ - genau das, was ich eingestellt habe.

Ctrl + Linksklick auf #include <stdint.h> führt mit einem 
Zwischenschritt auf den Header, der die typedefs für uint8_t usw. 
enthält.

Das hält Ecplipe aber nicht davon ab, sämtliche Symbole, die dort 
definiert und nicht ausgegraut sind, als undefiniert zu melden.
#4364584
Lesenswert?

Was sagt:

   Index -> search for unresolved includes

Hast Du irgendwas an den Indexer-Einstellungen verändert?

> ein altes Projekt

Wie alt? Was passiert wenn Du mal ein neues Projekt erzeugst (zwei mal 
Target MCU Type ändern nicht vergessen)?

Wenn Du die Fehler in der Problems Liste einfach löschst und dann auf 
Index->Rebuild gehst, kommen sie dann wieder? Tauchen die angeblich 
fehlenden Symbole auch nicht im Autocomplete auf?


Ich habe Eclipse Mars.1 und AVR-Plugin 2.4.1 hier unter Kubuntu 15.10 
und ich kann beim besten Willen auch durch mutwilliges Verstellen der 
Indexer-Einstellungen deinen Fehler nicht repoduzieren, auch nicht mit 
älteren Projekten die noch von Luna stammen. Sobald es den includes 
folgen kann hat es auch alle darin deklarierten Symbole gefressen. Ich 
kann mich auch nicht erinnern jemals in all den Jahren je so etwas 
schräges erlebt zu haben, entweder er findet sie gar nicht oder er 
findet sie und dann geht es aber auch.

Womöglich hast Du irgendwas grundlegendes kaputtkonfiguriert oder 
zerschossen, vielleicht hilft ja ein Neubeginn mit einem frischen 
jungfräulichen Eclipse, und von dann an bei jeder Konfiguration die vom 
Default abweicht selbiges irgendwo niederschreiben, zusammen mit 
Begründung warum es erforderlich war. Das spart Zeit und kann sich 
später als hilfreich erweisen.
#4364607
Lesenswert?

Nochwas:

Man kann bei einzelnen Dateien einige Einstellungen separat ändern 
(also die Projekteinstellungen überschreiben), oft versehentlich indem 
man auf der Datei rechte Maus->Properties verwendet anstatt das selbe am 
ganzen Projekt zu machen.

Dann taucht ein kleiner Schlüssel rechts oben am Datei-Icon auf um 
anzuzeigen daß für diese Datei abweichende Einstellungen gelten.

Abhilfe: Für jede betroffene Datei: Rechte Maus -> Ressource 
Configurations -> Reset to default

Danach: Index -> Rebuild.
OP #4364671
Lesenswert?

Bernd K. schrieb:
> Was sagt:
>
>    Index -> search for unresolved includes

Aha, jetzt kennt er die Symbole, mault aber jeden //-Kommentar mit "Line 
Comments '//' are not allowed" an. OK, das kann man konfigurieren.

Jetzt sind die Fehler weg - danke für die Nachhilfe.


> Hast Du irgendwas an den Indexer-Einstellungen verändert?

Nein. Das ist alles, wie es vor 3 Jahren war. Schon erstaunlich, dass er 
zwar gemerkt hat, dass das Projekt von einer anderen Version stammt, 
aber der Index offenbar einfach übernommen wird.

Den Controller-Typ habe ich schon mehrfach geändert.

> Ich habe Eclipse Mars.1 und AVR-Plugin 2.4.1 hier unter Kubuntu 15.10

Ich auch, allerdings unter Mint 17. Das Projekt stammt von Luna.


Also nochmal zusammenfassend, was ich gemacht habe

1. Controllertyp geändert → apply, dann dasselbe zurück
2. Project → C/C++ Index → Rebuild

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