../Test123.c:6:18: fatal error: uart.h: No such file or directory compilation terminated. make: *** [Test123.o] Fehler 1 Build failed with 1 errors and 0 warnings... Ich habe ein Anliegen an die Profis, ich bin in dem Gebiet ein Neuling. Habe mich durchs Internet geklickt und weiß nicht mehr weiter... Ich arbeite mit dem Atmel-Studio4 und kann mir nicht den fehler erklären. Ich will eine Verbindung zu dem RS232 erstellen. Habe die UART.C und UART.H Dateien in das Programm schon eingebunden, aber trotzdem schafft das Programm nicht, es zu kompilieren... Kann mir bitte jemand einen Hilfreichen Tipp geben??
Die Fehlermeldung ist eindeutig: Der Compiler kann die Datei nicht finden. Wenn Du unter einem unixoiden Betriebssystem unterwegs bist, muss der Dateiname exakt richtig geschrieben werden, UART.H ist was anderes als uart.h.
Ich habe deinen Tipp befolgt und habe mir das mal genauer angeguckt. Bei der Header File ist der Name zwar klein geschrieben, so wie sonst überall, aber die Befehle in der Datei uart.h sind alle in Großbuchstaben... Kann es damit zusammen hängen?? Muss ich eventuell noch was besonderes beachten, beim einbinden?? Danke für die schnelle Antwort ;-)
Arthur Laut schrieb: > und habe mir das mal genauer angeguckt.. Hat dir der Rufus es denn nicht deutlich genug gesagt? Also nochmal: Beantworte zuerst mal die Frage: Arbeitest du a) mit Windows oder b) mit Linux (und vergleichbarem)? wenn b, dann achte auf exakt gleiche Groß- bzw. Kleinschreibung. Wenn a, dann ist dies egal. Windows ist da nicht so zickig. Dann solltest du gucken, ob dort steht #include <uart.h> oder #include "uart.h" Das ist ein Unterschied! Im ersten Fall muß die Datei im Includeverzeichnis des Compilers sthen, im zweiten Fall genau dem Verzeichnis, wo auch die .c Datei drinsteht. Klaro? W.S.
Hallo, ich arbeite mit Windows7. Sollte also keine Probleme bereiten... Die oben erwähnten Unterschiede kenne ich, hatte die auch berücksichtigt. Gibt es Unterschiede bei der Datei UART.H, vielleicht habe ich ja die falsche Datei eingebunden?? Habe ich das richtig verstanden: Bei Atmel Studio 4 bindet man die Dateien oben Links ein. Einmal in die Source Files und einmal in die Header Files? -In die Header Files bindet man die uart.h ... -In die Source Files bindet man die uart.c ...
Arthur L. schrieb: > Hallo, > ich arbeite mit Windows7. Sollte also keine Probleme bereiten... > Die oben erwähnten Unterschiede kenne ich, hatte die auch > berücksichtigt. > Gibt es Unterschiede bei der Datei UART.H, vielleicht habe ich ja die > falsche Datei eingebunden?? Welchen Teil von "Die Datei kann nicht gefunden werden" verstehst du nicht? > Bei Atmel Studio 4 bindet man die Dateien oben Links ein. Darum gehts nicht. Wenn sich der Compiler (Preäprozessor um genau zu sein) deine *.c Datei vornimmt, dann findet er da drinnen die Anweisung
1 | #include "uart.h" |
also versucht er die Datei zu öffnen (zuerst mal auf demselben Verzeichnis, auf dem auch die *.c Datei ist, in der der #include enthalten ist). Und bei diesem Versuch kommt vom Filesystem die Meldung zurück "Sorry, aber auf diesem Verzeichnis gibt es keine Datei mit diesem Namen" Also: überprüf, ob die Datei auf diesem Verzeichnis ist, kopier sie hin, wenn nicht und alles ist gut. Prüfe den Dateinamen auf Tippfehler, korrigiere ihn, falls welche da sind und alles ist gut. Sieh dir an, ob die Datei vielleicht ihre Endung *.h verloren hat, als du sie mal umkopiert hast, ergänze sie und alles ist gut (und schalte dir im Explorer die Anzeige der Dateiendungen ein falls das noch nicht geschehen ist. Wir sind Softwerker und keine BWL-Studenten - wir können mit Dateiendungen was anfangen)
:
Bearbeitet durch User
@Karl Heinz Buchegger Das was ich an der ganzen Sache nicht verstehe ist, dass alles soweit richtig eingebunden ist und auch richtig geschrieben ist.... Und trotzdem die Datei nicht gefunden wird... Vielleicht funktioniert die Atmel Software nicht richtig, ich guck mal ob eine Neuinstallation was bringt... Anders kann ich mir das nicht erklären, habe schon alles ausprobiert... Danke für die Hilfe
Um noch einem (verständlichen) Missverständnis vorzubeugen: Ob du die Datei oben links im Studio "einbindest" oder nicht, spielt keine Rolle. Da kannst du problemlos Headerdateien einbinden, die in anderen Verzeichnissen liegen, aber der Compiler findet die trotzdem nicht. Dazu müsstest du von Hand in den Projektoptionen den Suchpfad hinzufügen. Oliver
@Oliver Das habe ich noch nicht gemacht, danke für den Tipp ;-) Wo genau muss ich da den Pfad für die uart Dateien eingeben?? Unter Libraries oder Include Directories, oder in beide?? Danke vorab ;-)
Du könntest Deine uart.c/uart.h einfach in das Verzeichnis kopieren, wo auch Dein anderer Quelltext (main.c etc.) zu finden ist.
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.