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
Gast
#3804388
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?!
Gast
#3804402
>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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.