Hallo,
ich wollte mein erstes kleines programm schreiben, hab mir das tutorial
durchgelesen und das makefile mittels mfile konfiguriert.
beim ausführen von make all aus dem winavr - programers npad tritt dann
der fehler
-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
make.exe: *** No rule to make target `main.o', needed by `main.elf'.
Stop.
> Process Exit Code: 2
nach einiger suche hab ich dann den eintrag:
# Compile: create object files from C source files.
%.o : %.c
das file sollte also angelegt werden. sollte!
auch das suchen nach dem file brachte kein ergebnis.
für ratschläge wäre ich dankbar
Wichtig ist, dass deine Datei mit dem C-Sourcecode als main.c abgespeichert ist (Groß-/Kleinschreibung beachten). Sonst wird nichts kompiliert.
Hallo. Das nervige make ist ganz schön kompliziert. Also sehe ich mich um und finde scons (www.scons.org). Dieses ist unter Python geschrieben. Python stellt unter Linux normalerweise kein Problem dar, gehört zum Standard. Damit verkürzt sich das "Makefile" auf: --- SConstruct ----------------------------------------------------- src_files = Split('main.c fkt1.c') prg_file = 'prog' env = Environment(CC='/usr/local/avr/bin/avr-gcc', CCFLAGS='-mmcu=atmega8 -Os -g3') env.Program(prg_file, src_files) -------------------------------------------------------------------- Unschön hieran ist, dass avr-gcc mit dem kompletten Pfad angegeben werden muss. Dies ist meine erste Version mit scons und falls jemand Lösungsvorschläge/Verbesserungen hat, immer her damit. Gruß Marco -
Ich bin auch Linux-Freak und habe das OS aus Redmond nie privat benutzt. mrdaniel82 hat WinAVR und unter Windows ist Python ein ziemliches Problem. @mrdaniel82 Das mit dem make ist eigentlich ganz einfach, wenn Du mfile benutzt. Wenn Du nur eine Datei im Sourcecode hast, dann nenne sie main.c Das Makefile, das aus dem PN2 aufgerufen wird und das Du mit mfile erzeugst, nimmt automatisch an, das der Sorucecode mit dem main() Funktionsaufruf in der Datei main.c steht. Sollte Deine Datei, die die main() Funktion enthält, aber meinprogramm.c heißen, dann musst Du in mfile bei "Main File" den Namen meinprogramm eintragen. Wenn Du dann z.B. die LCD-Sachen noch in Deinem Programm brauchst, dann musst Du die in "Source Files" noch eintragen. (main nicht mehr, das ist automatisch in der Liste drin.) Ich hoffe, das hilft Dir ein wenig weiter.
"unter Windows ist Python ein ziemliches Problem." Das halte ich für ein Gerücht. Wenn ich Windows verwende nehme ich ActivePython (http://www.activestate.com/Products/ActivePython/), es gibt aber auch noch andere. Probleme sind mir bisher noch keine begegnet. Das Python-Zeug, das ich unter Linux entwickelt habe, kann ich fast immer 1:1 verwenden.
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.