Ich verwende Make aus der MinGW-Distribution. Es hat immer funktioniert, aber in letzter Zeit habe ich den folgenden Fehler bekommen:
> make clean
make: Interrupt/Exception caught (code = 0xc0000005, addr = 0x0040b0ac)
Und der jeweilige Teil sieht so aus:
clean:
del /S /Q *.o > nul
del /S /Q *.cy.c > nul
del /S /Q *.pyc > nul
del /S /Q *.pyo > nul
if EXIST build (rmdir /S /Q dist > nul)
Ich habe keine Ahnung, woran das liegt. Vor allem, weil es immer einwandfrei funktioniert hat.
Antworten:
Ich bekam auch eine Ausnahme:
Könnte ein anderer Grund sein, aber dieses Problem verursacht wird offenbar , wenn die PATH - Variable Klammern enthält
(
,)
wie es auf Win Vista / 7 der Fall ist. Leider ist die verfügbare GNU für Windows hoffnungslos veraltet.Mein Problem wurde durch Erzwingen der
make
Verwendung der richtigen Shell behoben : Fügen Sie die folgende Zeile am Anfang Ihres Makefiles ein.quelle
C:\Program Files
mitC:\PROGRA~1
undC:\Program Files (x86)
mit hatC:\PROGRA~2
das Problem für mich behoben. +1 :-)sh: C:\Program: No such file or directory
is Die erste Zeile erhalte ich, wenn ich dieSHELL
Variable nicht übergebe . Grundsätzlich enthält jede Instanz von "Program Files" auf dem PATH einen Speicherplatz, der nicht ordnungsgemäß maskiert ist (was make betrifft). Es ist nicht die Länge des Pfads, sondern die Leerzeichen, die dieses Problem verursachen. Dies erklärt, warum die Verwendung eines Makros ohne Leerzeichen dieses Problem behoben hat.Ich hatte dieses Problem, als ich das bin-Verzeichnis von Git der
PATH
Umgebungsvariablen hinzufügte . Der Grund scheint zu sein, dass Git mit einer Version von MSYS ausgeliefert wird und dies mit MinGW in Konflikt zu geraten scheint (möglicherweise liegt kein Konflikt vor, wenn es sich um die richtige Version von MSYS und / oder MinGW handelt, aber das ist nur eine Vermutung).Stellen Sie also sicher, dass sich in Ihrem System keine (andere) MSYS - Distribution befindet
PATH
.quelle
Als ich Norbet P. antwortete, stellte ich fest, dass das Hinzufügen von:
Oben in meinem Makefile wurde dieses spezielle Problem für mich behoben.
quelle
Dieser
make
Fehler ist zumindest in behoben.
quelle
Ich habe GnuWin verwendet, bis mir klar wurde, dass die letzte Veröffentlichung bereits am 26. November 2006 veröffentlicht wurde . Das ist ein bisschen lahm und hat die oben genannten Probleme verursacht. Das Setzen von SHELL = C: /Windows/System32/cmd.exe behebt zwar einige Probleme, aber das Ausführen eines solchen alten Codes auf neuen Betriebssystemen fühlt sich unsicher an
MinGw ist eine sicherere Wette. MinGw ist die Abkürzung für "Minimalist GNU for Windows" und ist auf dem neuesten Stand und enthält make und andere Tools
http://sourceforge.net/projects/mingw/files/
quelle
Der Windows-Fehlercode
0xC0000005
weist auf eine Zugriffsverletzung oder einen Segmentierungsfehler hin.quelle
In meinen Kompilierungsprotokollen habe ich festgestellt, dass "SHELL = sh" übergeben wurde, obwohl ich mich auf einer Windows-Plattform befinde. Mein Makfile sah so aus:
ifneq (, $ (findstring win, $ (RDI_PLATFORM))) SHELL = CMD endif
Sobald ich das ifneq kommentierte und es beendete, fing es an zu arbeiten. Nicht sicher, warum die Plattform nicht richtig interpretiert wurde.
quelle