-
-
No Rule to make target 'all'
Ich hab ein Problem beim Kompilieren.
Der Kompiler ist doch extern, oder???
Gibt es mehrere Kompiler???
Welcher ist zu empfehlen??? C/C++
Und wie benutzt man den Kompiler.
Ich hab leider kein Tutorial gefunden, das mir weiterhilft.
Wenn ich das Tool 'Make All' aufrufe, kriege ich oben genannte Fehlermeldung.
-
Erfahrener Benutzer
Roboter Experte
des kam bei mir auch immer, als ich vergessen habe, ein Makefile zu erstellen
verwendest du WinAVR?
wenn ja, gibt es da ein Programm MFile, mit dem du diese Datei sehr einfach erstellen kannst, dazu musst du das Programm starten, den Namen der c-Datei angeben, den Mikrocontroller und ein paar andere Sachen, dann speicherst du diese Datei in dem Verzeichnis, wo deine c-Datei is und dann müsste das kompilieren gehen
-
Unter welchem Namen muss ich das Makefile speichern, damit der Kompiler es erkennt???
Ist MFile ein externes Programm???
Link???
-
Erfahrener Benutzer
Roboter Experte
als Makefile(das, was schon vorgegeben ist)
das ist bei WinAVR dabei, allerdings nicht in Programmers Notepad, sondern separat(bei mir wars direkt auf dem Desktop), musst halt mal nach dem Programm MFile auf deiner hdd suchen
-
Neuer Benutzer
Öfters hier
Falls du das "make" in der Kommandozeile nutzt kannst du die Option -f benutzen um ein Makefile vorzugeben (make -f makefile_datei all). Ansonsten benutzt "make", im aktuellen Verzeichnis, die Datei namens "makefile" bzw "Makefile" als Default.
-
OK, vielen Dank, das funktioniert jetzt, aber mein Quelltext nicht mehr.
Ich hab genau die gleiche Datei einmal mit make all und einmal mit avr-gcc.exe kompiliert. Mit der avr-gcc.exe funktioniert zwar das Display, aber nicht der Timer und bei make all genau umgekehrt.
-
Noch ein kurzer Einschub zu "make".
"make" ist kein Compiler. "make" wird genutzt um Abhaengigkeiten der einzelnen Source files festzulegen und dementsprechend den definierten Compiler aufzurufen.
Ein gute Einfuehrung zu dem Thema findet man unter
http://www.linux-magazin.de/Artikel/...Make/make.html
Bis denne
-
Neuer Benutzer
Öfters hier
Seit kurzem habe ich auf meinem Laptop: Compaq Armada M700 Windows XP installiert. (Vorher Windows2000) danach funktionierte mein WinAVR nicht mehr.
Es kam genau diese Fehlermeldung: No rule to make target 'all'
(beim Übersetzen des "demo"-Programms in examples).
Die selbe Installation auf meinem Desktop-PC mit der selben XP-Version funktionierte auf Anhieb.
Im Internet hab ich nichts über eine Lösung hierzu entdeckt
Durch massives Ausprobieren und Austauschen der makefiles und make.exe bin ich zu einer merkwürdigen Lösung gekommen.
Ich hatte das make.exe unter \winavr\utils\bin umbenannt um ein anderes auszuprobieren. Ich nannte es make_1.exe.
Wenn ich dieses Programm aufrief: unter winavr\examples\demo make_1 all, funktionierte das "make" plötzlich.
Benannte ich es wieder um, funktionierte es nicht mehr!
Nun musste ich mein Programmers Notepad (PN) so hacken dass es nicht mehr make.exe sondern make_1.exe aufrief.
Netterweise sind die Aufrufe in einer XML-Datei unter WinAVR\pn\tools\WinAVE.xml hinterlegt.
Nach der Änderung der drei Aufrufe von make.exe nach make_1.exe klappte alles auch aus PN heraus.
Kann mir das jemand erklären?
Gibt es einen einfacheren Weg zum Ziel?
Gerd Domrath.
-
Erfahrener Benutzer
Roboter Experte
Gibt es vielleicht noch ein 'make.exe' oder 'make.bat' oder 'make.com' datei irgendwo in deinem computer und ist ein verzeichnis dazu im PATH in AUTOEXEX.BAT datei aufgenommen?
nur so eine idee
gruss
Henk
-
Neuer Benutzer
Öfters hier
Ja, aber dort hin zeigt der "path" nicht!
Selbst beim Aufruf unter der DOS-Box im xp war das Problem da.
Ich habe zur Sicherheit noch mal probiert die C-Source von "demo" und das makefile in das Verzeichnis WinAVR\Utils\bin zu kopieren, aber das Bild war das gleiche.
Es kommt immer diese Fehlermeldung...
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen