Go Down

Topic: error: expected unqualified-id before 'if (Read 388 times) previous topic - next topic

wesch

Zunächst, ich habe einen gleichen Topic hier schon gefunden. Nur har er nichts mit meinem Problem zu tun, oder eventuell doch. Vielleicht bekomme ich ja einen Hinweis.

Mir ist bekannt, dass der Fehler eventuell durch eine fehlende Klammer herrühren kann. Nur ist mein Code leider so groß, dass sich bestimmt keiner die Mühe macht und diese zu suchen. Deshalb poste ich ihn auch nicht.

Was aber mein Problem ist. Ich benutze die Extension von vMirco innerhalb des Visual Studio zur Entwicklung. Diese benutzt den Arduino-Compiler.

Nun habe ich zwei Versionen des VS, nämlich 2017 und 2019. Und hier ist mein Problem.
Mit VS 2017 kann ich das Projekt fehlerfrei übersetzen und es läuft auch auf einem ESP 2866.

Wenn ich aber das gleiche Projekt mit VS 2019 übersetze, bekomme ich obigen Fehler.

Damit sollte die Klammerursache wohl nicht an meinem Code zu suchen sein.


Wenn ich einen leeren ino-Sketch erstelle, also nur setup und loop, dann kompiliert das unter 2019.
Reduziere ich meinen richtigen ino-Sketch auch auf setup und loop, indem ich alles auskommentiere, bleibt der Fehler. Ich habe jedoch nicht alle cpp- und h-Dateien aus dem Projekt entfern, dann sind etliche. Wenn beide VS nicht den gleichen Compiler benutzen würden, dann hätte ich vermutet, dass die Reihenfolge beim include der h-Dateien und deren Kompilierung die Ursache ist. Aber der Compiler ist ja der gleiche.


Hat jemand eine Idee, woran das liegen könnte?

combie

Du solltest der Meldung glauben.
Die Meldung sagt doch sicher: Datei und Zeile.

Wie sollten wir dir helfen können, wenn du nix zeigst, und dann auch noch die Meldung bis zur Aussagelosigkeit verstümmelst.
Es ist offensichtlich, dass uns die Umstände alleine nicht glücklich oder unglücklich machen.
Es ist die Art unserer Reaktion darauf, die unsere Gefühle bestimmt.

gregorss

Was aber mein Problem ist. ...
Nein, Dein Problem ist, dass Du weder die konkrete Fehlermeldung nennst noch den Teil des Programms, auf den sich die Meldung bezieht (und das tut sie ja wohl).

Es kann die Klammer sein oder auch nicht. Da bin ich ganz sicher.

Gruß

Gregor
Nicht lange fackeln, lass' Backen wackeln! (Seeed)

wesch

Den ganzen Code posten geht nicht, viele tausend Zeilen.

Hier ist die komplette Fehlermeldung:
ESPrit.ino: 113:1: error: expected unqualified-id before 'if
   void loop()
Error compiling project sources

Ich glaube der Fehlermeldung schon, leider bringt aber die Zeilennummer nichts, es ist die Zeile mit "void loop()".
Das heißt für mich, der Fehler ist vorher im Setup, mehr Funktionen gibt es da nicht. Und wenn ich im Setup alles auskommentiere und auch alle includes, dann bleibt der Fehler.

Mein restlicher Code ist C++ (kein .ino) und ich vermute, da ja alle cpp-Files im Project kompiliert werden, egal ob man includes hat, dass der Fehler dort irgendwo liegt.

Nur verstehe ich halt nicht, warum VS2017 das kompiliert und 2019 nicht.

combie

Du hast mein volles Mitgefühl!

Tipp 1:
Soziale Probleme bearbeitet man, in dem man darüber spricht.
So lange darüber spricht, bis sich das Problem verändert, oder sich die Sicht auf das Problem verändert.
(Was beides aufs gleiche hinausläuft)

Tipp 2:
Technische Probleme bearbeitet man, in dem man das Problem analysiert, eine Lösung erarbeitet und diese dann durchsetzt.


Frage:
Bearbeitest du da ein technisches, oder ein soziales Problem?


Es ist offensichtlich, dass uns die Umstände alleine nicht glücklich oder unglücklich machen.
Es ist die Art unserer Reaktion darauf, die unsere Gefühle bestimmt.

ardubu

Quote
Den ganzen Code posten geht nicht, viele tausend Zeilen.
du könntest ihn als Anhang senden

michael_x

Quote
du könntest ihn als Anhang senden
in einem visualmicro-Forum.
Und vergiss die projekt-Dateien nicht.

Alternativ kannst du es in der ArduinoIDE übersetzen (versuchen) und da den Fehler eingrenzen, oder neu ein vmicro Projekt draus machen.

Go Up