Hallo AVR-Freunde, ich bin gerade dabei auf C-Programmieren umzusteigen. Habe mir die nötige Toolchain installiert, nur bekomme ich beim Kompilieren folgende Fehelermeldung: ../Display_Control.c:14: fatal error: opening dependency file dep/Display_Control.o.d: No such file or directory compilation terminated. make: *** [Display_Control.o] Error 1 Build failed with 1 errors and 0 warnings... ich hoffe ihr könnt mir weiterhelfen. Vielen Dank im Voraus und schöne Grüße, der Nasenbär
Ja, da fehlt dir offensichtlich die Datei "dep/Display_Control.o.d". Diese Dependency-Files enthalten Informationen darüber, welche Header-Dateien in die Quellcodedateien eingebunden werden, so dass make bei Änderung einer dieser Header-Dateien automatisch die davon abhängige Quellcodedatei neu-compiliert. Das Makefile enthält u. a. die Anweisungen, wie die Dependency-Dateien automatisch generiert werden. Möglicherweise ist diese Generierung fehlgeschlagen. Um die Ursache festzustellen, kann man das Makefile analysieren. Aber wahrscheinlich hast du als C-Anfänger das Makefile gar nicht selbst geschrieben. Wenn du Angaben über die verwendete Toolchain machst (vielleicht WinAVR?), findet sich vielleicht jemand, der die gleichen Tools benutzt, das gleiche Problem bereits hatte und dieses bereits gelöst hat. Dann kannst du dir die Analyse des Makefiles sparen. Ich selber benutze kein WinAVR, schreibe meine Makefiles von Hand und bin deswegen noch nicht auf das von dir beschriebene Problem gestoßen.
Aus der Datei "Display_Control.c" wurde keine .o-Datei erstellt, also kann der Linker aus den o-dateien ('O' wie Object) kein komplettes Programm bauen. Entweder gibt's noch mehr Meldungen (wird der Gcc auch mit -Wall aufgerufen?), oder die .c-Datei gibts nicht/heißt anders. So weiter will ich nicht spekulieren hth. Jörg
> Ja, da fehlt dir offensichtlich die Datei "dep/Display_Control.o.d". Das war Quatsch. Der Fehler erscheint vermutlich an der Stelle, an der die Dependency-Datei generiert sollte. D. h. die Meldung "No such file or directory" bezieht sich nicht auf die Datei Display_Control.o.d, sondern auf das Verzeichnis dep, innerhalb dessen die Datei angelegt werden soll. Dieses Verzeichnis dep wird (in WinAVR) m. W. ebenfalls automatisch erzeugt. Gab make evtl. noch andere Meldungen/Warnungen vor dem von dir beschriebenen aus? Vielleicht ist das Verzeichnis, in dem dep angelegt werden sollte, schreibgeschützt.
Hallo zusammen, vielen Dank für die ersten Antworten. also zur weiteren Infomation, die Zeile die vor der Fehlermeldung ausgegeben wird: avr-gcc -mmcu=atmega32 -Wall -gdwarf-2 -DF_CPU=16000000 -O0 -fsigned-char -Wp,-M,-MP,-MT,Display_Control.o,-MF,dep/Display_Control.o.d -c ../Display_Control.c Vielleicht hilft es euch ja weiter um mir weiter zuhelfen. Grüße, der Nasenbaer
Ist das "Display_Control.c" der Name der Datei? diese Programme sind CASE-Sensitive! (groß/kleinschreibung..). Sonst schau warum die Datei nicht compiliert wird: Blockkommentare, sehr ungünstig fehlende Semikolons (wie die Mehrzahhl auch immer sein mag ;) ), etc.
So, ich habe jetzt mal den kleinen Quellcode mit der Fehlermeldung in den Anhang gestellt. Hoffentlich scheitere ich nicht schon an so einem kleinen Programm
1 | [...]*** Couldn't reserve space for cygwin's heap, Win 32 error 487 |
- ist also ein WinAVR fehler, wenn's ein neuinstallation nicht behebt, solltest du dich an die Entwickler (z.B. Jörg Wunsch, hier im Forum) wenden. Auf jeden Fall auch die neueste (4.13'er)Version vom AVR-Studio installieren, falls nicht schon geschehen merke für die Zukunf: die GANZE Meldung posten ;) ht. Jörg
Windows Vista? Da gibt es ähnliche Fehlerberichte... http://www.madwizard.org/extern/winavr-vista/ http://2313.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=45684&start=0 http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=294097
Also ich habe jetzt die neuesten Versionen installiert. Jedoch erscheint immer noch die gleiche Fehlermeldung. In den Path Einstellungen für die Umgebungsvariablen ist auch alles richtig. Vielleicht muss ich ja noch irgendein extra Tool/Programm installieren. Ich habe nur AVR-Studio und WinAVR installiert. Das genügt doch, oder? Was ist eigentlich Cygwin? Grüße Nasenbaer
> Was ist eigentlich Cygwin? http://www.cygwin.com [zitat] What Is Cygwin? Cygwin is a Linux-like environment for Windows. It consists of two parts: * A DLL (cygwin1.dll) which acts as a Linux API emulation layer providing substantial Linux API functionality. * A collection of tools which provide Linux look and feel. [/zitat] > Das genügt doch, oder? Wenn du Vista hast, kannst du den Patch von Madwizard versuchen. Der wird nach der Installation von WinAVR und AVR Studio eingespielt. Auf Madwizards Seite ist noch von WinAVR 20070122 die Rede. Es gibt aber auch einen Patch für die neuste WinAVR Version: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=322494#322494 http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=320359#320359
Also als Betriebssy^stem benutze ich Windows XP. Muss denn bei noch zusätzlich Cygwin installieren oder kann es nicht daran liegen? Habe in anderen BEiträgen gelesen, dass andere (neuinstallierte) Software an der Ursache liegen kann. Werde heute Abend mal die neuen Programme nach und nach deinstallieren, bis WinAVR läuft. Es sei denn jemand hat bis heute Abend noch einen anderen Lösungsansatz. Gruß, Nasenbaer
> Muss denn bei noch zusätzlich Cygwin installieren oder kann es nicht daran liegen? Die Grundfunktionen von Cygwin ist in Form der DLL bereits zugänglich bzw. im WinAVR Paket. Eine seperate Installation vom kompletten Cygwin ist nicht erforderlich.
Du brauchst die Programme nicht sofort zu deinstallieren. Schau einfach einmal nach, ob Du DLL's in Deinem System hast, die mit "cyg" beginnen, also suche nach "cyg*.dll". Dann kontrolliere ob diese im Pfad liegen, also in der PATH-Umgebungsvariable vor dem "c:\Programme\WinAVR-2007..\utils\bin" Verzeichnis kommen. Oder kontrolliere PATH und stelle die WinAVR Verzeichnisse ganz an den Anfang. Klaus
habe die Datei Cygwin1.dll im Verzeichnis WinAVR\bin gefunden und sie in Verzeichnis ...WinAVR\utils\bin kopiert. Aber leider immer noch das gleiche Problem. In Internet bin ich auf die Änderung in der Autoexec.bat Datei gestoßen. Jedoch finde ich auf meiner Festplatte keine Autoexec.bat Datei. Kann es zufällig daran liegen? Wenn ja, wo bekomme die Datei her und wie muss ich sie genau veränder?
So, habe jetzt sämtliche neuen Programme deinstalliert, aber leider ist die Fehlermeldung immer noch vorhanden. Jetzt habe ich mir ein neues Benutzerkonto angelegt und der Fehler ist nicht mehr da. Ich denke, dass WinAVR im Hintergrund irgendwo eine Datei anlegt in der sämtliche Einstellungen gesichert werden, die bei einer deinstallation nicht gelöscht werden und deshalb immer wieder der Fehler auftritt. Wenn jemand von euch weiß welche Datei oder Dateien dies sind schreib es doch bitte ins Forum. Würde es dann ausprobieren, ob es daran lag. Ansonsten vielen Dank für die Antworten. Grüße, Nasenbaer
Hi, der Hinweis auf die Seite von Madwizard (http://www.madwizard.org/extern/winavr-vista/) war schon gar nicht schlecht. Die dortige Lösung funktioniert auch unter XP. Ansonsten hätte man ja auch mal die Suchfunktion dieses Forums bemühen können und wäre dann auf diesen Thread gestossen: Beitrag "Installation AVR Studio" Da gibts die dll von Madwizard auch einzeln. CU FBI
Vielen Dank, Jetzt funktioniert es endlich. Habe einfach nur die genannte Zip Datei von Madwizard downgeloaded und wie beschrieben eingefügt. Jetzt läufts endlich :-) Vielen Dank an alle die mir geholfen haben.
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.