Hallo habe mir mal eine Makefile geschrieben, um mein C Projekt für den Arduino Uno hochzuladen. Jedoch meldet diese ein Problem, dass ich nicht nachvollziehen kann. Der Output meiner Makefile: avr-gcc -MM main.c > .depend avr-gcc -c -Os -DF_CPU=16000000UL -mmcu=atmega328p -L -o obj/main.o main.c avr-gcc: error: obj/main.o: Datei oder Verzeichnis nicht gefunden make: *** [obj/main.o] Fehler 1 Ich verstehe nicht, wieso der Compiler darüber meckert, dass er eine Datei nicht finden kann, die er erstellen soll. Ich hatte dieses Problem bisher nur mit mkdir, und da war das Problem, dass die Elternordner fehlten. obj ist jedoch in diesem Fall im selben Ordner und leer. Alle nötigen Dateien sind im Anhang. MfG Til Hoff
Til Hoff schrieb: > avr-gcc -c -Os -DF_CPU=16000000UL -mmcu=atmega328p -L -o obj/main.o Da steht "-L -o obj/main.o" das bedeutet: "Verwende das Verzeichnis '-o' um nach Libraries zu suchen, und verwende die Datei obj/main.o als Eingabe zum Linken". Sicher dass das -L da stehen soll?!
>Sicher dass das -L da stehen soll?!
Vermutlich nicht. Das kommt vom
-L$(ARDUINO_LIB)
ARDUINO_LIB ist aber nicht definiert.
Macht man es so gehts
ALLCFLAGS = -O$(OPT) $(CDEFS) -mmcu=$(MCU) $(CFLAGS)
Oh... Ja, habe früher versucht die Arduino Library einzubinden, hab mir dann aber gedacht, dass ich sowieso mal lernen sollte wie das "richtig" geht und dann vergessen die Überbleibsel in der Makefile zu löschen. Danke, manchmal ist man einfach blind.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.