Moin zusammen, AVR-Studio meldet mir mit dieser angehängten Makefile "make: *** No rule to make target `../Netzteil.c', needed by `Netzteil.o'. Stop." Ich hab mich mal an den Suchergebnissen hier im Forum entlang gehangelt, aber trotzdem kann ich dn Fehler nicht finden. Könnt Ihr mir helfen?! Vielleicht noch die Info: Das Problem besteht erst, seit dem ich die Makefile mal in AVRStudio abgehängt habe, und dieselbe Datei (unverändert) wieder einhängen wollte. Grüße, Dennis
Das Makefile schaut so aus, als würde es in ein Unterverzeichnis gehören. Leg mal da, wo dein Netzteil.c liegt, ein neues Verzeichnis an (z.b. "build"), verschieb das Makefile da rein, und versuchs nochmal. Oder lass das Makefile "neben" dem "Netzteil.cc", nimm dafür das "../" in Zeile 47 raus.
okay, nun habe ich das hier: gcc plug-in: Error: Object file not found on expected location D:\Eigene Dateien\Elektronikzeugs\Projekte\Netzteil\C\Netzteil.elf Make sure your makefile specifies the output .elf file as Netzteil.elf gcc plug-in: Error: Object file not found on expected location D:\Eigene Dateien\Elektronikzeugs\Projekte\Netzteil\C\Netzteil.elf Make sure your makefile specifies the output .elf file as Netzteil.elf Zwei Mal die gleiche Meldung?!
okay, ich habe das Problem für die letzte Meldung gefunden...irgendwas ist mit einer .h-Datei nicht richtig. #include<avr\stdlib.h> Compiler meldet: ../Netzteil.c:6:23: error: avr\stdlib.h: No such file or directory ../Netzteil.c: In function 'print_voltage': ../Netzteil.c:210: warning: implicit declaration of function 'itoa' Aber ich habe das überprüft: Die Datei liegt in dem genannten Verzeichnis. Was ist das denn nun?!
Schreib besser: #include <avr/stdlib.h> ('/' statt '\') ausserdem liegt die "stdlib.h" (bei mir) nicht im avr-Unterverzeichnis.
>Schreib besser: >#include <avr/stdlib.h> >('/' statt '\') Ich habe alle #includes so. Wenn ich Deinem Rat folge, dann versteht das Ding gar nichts mehr. <ausserdem liegt die "stdlib.h" (bei mir) nicht im avr-Unterverzeichnis. Keine Ahnung, warum das bei mir so ist. Aber die ist ganz sicher da.
Dennis schrieb:
> Keine Ahnung, warum das bei mir so ist. Aber die ist ganz sicher da.
Dann ist das Falsch. Der C-Standard schreibt vor, dass das
#include <stdlib.h>
heißen muss.
Versuchs einfach mal, vermutlich ist dein "avr"-Verzeichnis im Suchpfad.
okay, das hab ich gemacht. Und das funktioniert auch. Danke! Das sieht nun aber bei mir so aus: #include<avr\io.h> #include<avr\interrupt.h> #include<avr\portpins.h> #include<stdlib.h> stdlib.h liegt im gleichen Verzeichnis wie die anderen .h auch ... Das Programm wird nun einwandfrei compiliert. Wurde es bis vor 2 Stunden aber auch. Und ich habe an dem Programm nix geändert, ausser, dass ich versehentlich die Makefile vom Projekt entfernt habe. Nachdem ich diese wieder eingebunden hatte, ging das los. Und an den #includes habe ich nichts verändert. Kann mir das jemand erklären?!
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.