Forum: Compiler & IDEs Fompilerfehlermeldung bei 1 Wire Routine


von Thorsten L. (tlauf79)


Angehängte Dateien:

Lesenswert?

Hallo !

ich wollte gerne die 1Wire Routinen aus diesem Thread einbauen.

http://www.mikrocontroller.net/forum/read-4-84831.html#256725

Wenn ich die Main.c mit Make all compilieren möchte, bekomme ich
folgende ( mir nicht verständliche Fehlermeldung ) !

> "make.exe" all

-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.

make.exe: *** No rule to make target `main.o', needed by `main.elf'.
Stop.

> Process Exit Code: 2

Die make Datei habe ich angehängt.

Soll auf einem Mega 8, mit 16 Mhz laufen.

Danke im vorraus !!
Gruß Thorsten

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Der Dateiname von "Main.c" sollte "main.c" lauten.

Die Win32-Portierung von avr-gcc hat bei der Behandlung von Dateinamen
den Fehler, daß Groß- und Kleinschreibung unterschieden wird. So sind
MAIN.C, main.c etc. vermeintlich unterschiedliche Dateien.

Das ist unter *nixoiden Betriebssystemen auch der Fall, aber unter
Win32 ist das nicht der Fall und dafür portierte Software sollte sich
auch an diese Gegebenheiten halten.

Das ist aber wohl eine philosophische Betrachtung und müßige
Diskussion.

Zum "Umbenennen" der Datei musst Du sie zunächst komplett anders
benennen, da Win32 eine Veränderung der Groß- und Kleinschreibung nicht
als Umbenennung ansieht.
Also:

  ren Main.c main_.c
  ren main_.c main.c

Ein weiteres Ärgernis ist die Interpretation der Dateinamenserweiterung
.C (groß geschrieben) als C++-Erweiterung, auch dieses Verhalten ist
unter Win32 ein Fehler.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Main.c != main.c

von Thorsten L. (tlauf79)


Lesenswert?

jo das wars Danke

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

> Ein weiteres Ärgernis ist die Interpretation der
> Dateinamenserweiterung .C (groß geschrieben) als C++-Erweiterung,
> auch dieses Verhalten ist unter Win32 ein Fehler.

Das ist nur eine Compiler-Konvention.  Du musst die Datei ja nicht als
.C auf der Kommandozeile angeben.  Außerdem kannst du es immer mit
-x überschreiben.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.