habe mir den ArmGCC von Launchpad unter W7 sowie das GNU Make aus bzw. mit Cygwin installiert. Unter share gibt es bei den Beispielen ein Minimum Projekt, welches ich in ein Verzeichniss abseits von /Programme/gcc umkopiert habe um es zu übersetzen. Ein Aufruf von make ohne weitere Angaben erzeugt klaglos ein minimum.map und ein minimum-CM0.axf über das im mimimum Verzeichnis beigelegte makefile. Dieses hat eine clean: section welche aber folgende Fehlermeldung erzeugt: C:\data\gcctest\samples\src\minimum>make clean rm -f minimum*.axf *.map *.o make: /bin/sh: Command not found makefile:12: recipe for target 'clean' failed make: *** [clean] Error 127 Fehlt da noch eine Shell aus Cygwin oder so was ähnliches ? Oder passt nur der Suchpfad nicht ? (make.exe habe ich mir in gcc/bin abgelegt)
J. V. schrieb: > Fehlt da noch eine Shell aus Cygwin oder so was ähnliches ? Das von Dir verwendete make scheint es für nötig zu halten, Kommandozeilenaufrufe an /bin/sh zu übergeben. Was hier nicht völlig fehl am Platze ist, denn rm versteht ein Windows-System eh' nicht. Also brauchst Du das Cygwin-*nix-Emulations-Geraffel, oder Du musst Dir ein anderes, windows-kompatibleres make besorgen, und das Makefile anpassen (d.h. *nix-spezifische Aufrufe durch etwas ersetzen, was Windows versteht).
J. V. schrieb: > habe mir den ArmGCC von Launchpad unter W7 sowie das GNU Make aus > bzw. mit Cygwin installiert. Unter share gibt es bei den Beispielen ein > Minimum Projekt, welches ich in ein Verzeichniss abseits von > /Programme/gcc umkopiert habe um es zu übersetzen. Ein Aufruf von make > ohne weitere Angaben erzeugt klaglos ein minimum.map und ein > minimum-CM0.axf über das im mimimum Verzeichnis beigelegte makefile. > Dieses hat eine clean: section welche aber folgende Fehlermeldung > erzeugt: > C:\data\gcctest\samples\src\minimum>make clean > rm -f minimum*.axf *.map *.o > make: /bin/sh: Command not found > makefile:12: recipe for target 'clean' failed > make: *** [clean] Error 127 > > Fehlt da noch eine Shell aus Cygwin oder so was ähnliches ? > Oder passt nur der Suchpfad nicht ? (make.exe habe ich mir in gcc/bin > abgelegt) Rufe es aus einer cygwin Konsole auf. Es gibt keinen Grund irgendwelche exe woanders hin zu verschieben also mach das wieder rückgängig. Der gcc sollte sowieso im PATH stehen (Häkchen bei der Installation setzen) und das cygwin bin Verzeichnis ist im PATH wenn Du in einer cygwin Konsole arbeitest. Wenn du es aus der IDE aufrufen willst dann füge cygwin dort zum path hinzu (nicht global, nur in den IDE Einstellungen). Dann klappt das auch alles.
von der cygwin Console aus geht es tatsächlich klaglos und wenn man sich mal an den Zugriff über cygdrive/c/... gewöhnt hat jv@OSIRIS /cygdrive/c/data/gcctest/samples/src/minimum $ ls makefile makefile.bak makefile.txt minimum.c minimum.map minimum-CM3.axf jv@OSIRIS /cygdrive/c/data/gcctest/samples/src/minimum $ make clean rm -f minimum*.axf *.map *.o jv@OSIRIS /cygdrive/c/data/gcctest/samples/src/minimum $ ls makefile makefile.bak makefile.txt minimum.c Habe aber auch versucht das rm durch del zu ersetzen, weshalb aber noch immer /bin/sh/ gesucht wird. GnuMake scheint man nicht so einfach beibringen zu können eine Win7 shell aufzurufen
j.v. schrieb: > GnuMake scheint man nicht so einfach beibringen zu können eine Win7 > shell aufzurufen Das ist auch nicht unbedingt erstrebenswert. Da gibt's dann auch subtile Unterschiede und manchmal Probleme was parallele Abarbeitung angeht und ganz generell auf Dauer nur graue Haare. Ich lege alle meine Makefiles jetzt grundsätzlich so aus dass sie eine sh Shell und die GNU Tools benutzen, die bekomme ich frei Haus und ohne Verrenkungen von cygwin geliefert, das einzige was ich dann beachten muss ist vor Gebrauch den Pfad zu cygwin zu setzen oder sie nur aus der cygwin Konsole auzurufen. Das ist weniger umständlich als es sich anhört: In der IDE zum Beispiel kann man die Umgebungsvariablen konfigurueren für den Aufruf externer Tools und wenn ichs aus einer batch heraus aufrufe ist es auch nur eine einzige zusätzliche Zeile. Noch ein tip: Google mal nach dem Tool "chere". Das richtet einen Kontextmenü-Eintrag ein mit dem man im Explorer in irgendeinem Ordner per simplen Mausklick ruckzuck schnell eine cygwin Konsole öffnen kann. Sehr bequem und vorteilhaft!
Cygwin.reg einmal ausführen....
1 | Windows Registry Editor Version 5.00 |
2 | ; Open cygwin to folder |
3 | ; http://tomkay.me - Tom Kay |
4 | |
5 | [HKEY_CLASSES_ROOT\Directory\shell\open_cygwin] |
6 | @="Open Cygwin Here" |
7 | |
8 | [HKEY_CLASSES_ROOT\Directory\shell\open_cygwin\command] |
9 | @="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"$*\"`\"; exec bash' bash \"%V\"" |
10 | |
11 | [HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin] |
12 | @="Open Cygwin Here" |
13 | |
14 | [HKEY_CLASSES_ROOT\Directory\Background\shell\open_cygwin\command] |
15 | @="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"$*\"`\"; exec bash' bash \"%V\"" |
16 | |
17 | [HKEY_CLASSES_ROOT\Drive\shell\open_cygwin] |
18 | @="Open Cygwin Here" |
19 | |
20 | [HKEY_CLASSES_ROOT\Drive\shell\open_cygwin\command] |
21 | @="C:\\cygwin64\\bin\\mintty.exe /bin/sh -lc 'cd \"`cygpath \"$*\"`\"; exec bash' bash \"%V\"" |
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.