Merkwürdige Fehler mit avr-gcc mit Eclipse

OP #4359299
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
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
#4359406
Öffne die Projekteinstellungen, ändere die CPU auf irgendeinen anderen 
Wert, klick auf OK, öffne die Projekteinstellungen wieder, stell sie 
wieder zurück auf den richtigen Wert, klick wieder auf OK und das 
Problem sollte weg sein.

Ist ein alter Bug im AVR-Plugin, seit Jahren schon.
OP #4359641
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.
#4360300
Bei mir wurde es mit jeder Eclipse Version schlimmer.
Deswegen bin ich irgendwann stehengeblieben und zwar bei der
Version wo man einmal die CPU wechseln muss ;)

Kann bei Interesse morgen mal die Version raussuchen. Das avr plugin 
wird ja leider nicht mehr gepflegt...
OP #4360789
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
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
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...
#4362534
Beide Programme leben vom Hauptspeicher. Wenn man damit nicht geizt, 
dann klappt das schon. Und man muß eigentlich nur eine Stange Raufware 
nicht kaufen, schon ist's bezahlt. Schreibt ein Nichtraucher aus einer 
halbrauchenden Familie.
OP #4362572
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?
#4362763
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
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
> 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
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
> 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)
OP #4363304
Der Tipp, vorübergehend den Controllertyp zu ändern, hats jedenfalls 
nicht gebracht. Bleibt nur, den - m.A. auch völlig überflüssigen - 
Syntax-Mist einfach abzuschalten, oder das Plugin zu reparieren.
#4363442
Uhu U. schrieb:
> Bleibt nur, den - m.A. auch völlig überflüssigen -
> Syntax-Mist einfach abzuschalten, oder das Plugin zu reparieren.

Der völlig überflüssige Syntax-Mist macht nicht nur beim AVR-plugin 
Probleme. Mit aktuellem C++11/14 hat die auch so ihre Probleme. Gut 
gedacht, schlecht gemacht. Wie leider vieles an Eclipse.

Oliver
Gast #4364109
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
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
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 ...
#4364327
Uhu U. schrieb:
> Ich bin 40 Jahre ohne solche Gimmics ausgekommen und sehe schlicht
> keinen Sinn darin.

Warum verwendest Du es dann und machst diesen albernen als Frage 
getarnten Eclipse-Bashing-Thread auf um Dich darüber auszuheulen? Bleib 
doch einfach bei dem Editor den Du schon seit 40 jahren verwendest.
OP #4364462
_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
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
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
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

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.