[erledigt] Compiler-Frage

Hallo allerseits!

Vorhin wollte ich testweise eine Bibliothek programmieren und habe mehrmals die Fehlermeldung erhalten, dass „class“ kein gültiger Typname sei. Dieser Fehler verschwand erst, nachdem ich meine Implementationsdatei von [bla].c nach [bla].cpp umbenannt habe. Demnach unterscheidet irgendetwas auf dem Build-Weg in Abhängigkeit vom Dateinamen, ob es sich um C- oder C++-Syntax handelt.

Wer oder was ist dafür verantwortlich?

Danke vorweg!

Gregor

PS: Da ich seit einigen Jahren programmiere und meine Dateien compiliert werden, obwohl ich sie [bla].cc nenne, hat es einige Zeit gedauert, bis ich auf die Idee kam, es mal mit dem Umbenennen der Quelldatei zu probieren und ich halte es für äußerst blödsinnig, eine derartige Unterscheidung zu machen.

gcc hat bei den Datei-Endung ein paar Regeln:
http://labor-liber.org/en/gnu-linux/development/extensions

.c = C Datei
.C = C++ Datei

Serenifly:
gcc hat bei den Datei-Endung ein paar Regeln:

Das stimmt (zumindest so allgemein) nicht. Ich benutze den gcc, um meinen Kram zu compilieren. Der hat meine *.cc-Dateien immer anstandslos gefuttert.

Gruß

Gregor

.cc ist auch C++. Du hast gesagt du hast versucht C++ Code in eine .c Datei zu schreiben

Ansonsten kann da noch die Arduino Software mit Schuld sein. Die macht im Hintergrund einige Sachen mit den Dateien bevor sie mit dem Compilieren anfängt.

Serenifly:
.cc ist auch C++. Du hast gesagt du hast versucht C++ Code in eine .c Datei zu schreiben

Du hast recht. Dass das so ist, habe ich gerade festgestellt, als ich bla.bla compilieren wollte.

Ich hatte irgendeine Arduino-Spezialität im Verdacht.

Danke!

Gregor