gcc schlägt fehl mit spawn: Keine solche Datei oder Verzeichnis
Habe ich heruntergeladen
Ruben bauen
Cygwin GCC.
Jedoch nach dem ausführen es scheint nicht in der Lage zu kompilieren alle Dateien
$ touch foo.c $ gcc foo.c gcc: Fehler: spawn: Keine solche Datei oder Verzeichnis
Als workaround habe ich festgestellt, dass dies
i686-w64-mingw32-gcc foo.c
InformationsquelleAutor Steven Penny | 2013-05-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich das gleiche problem auf Cygwin64, und die Lösung war der PFAD Verwandte..irgendwie.
Stellt sich heraus, gibt es Kopien der gcc in /usr/bin und /bin (zumindest gibt es in meiner Installation).
Ausführen von /bin/gcc ist fehlgeschlagen mit dem Fehler oben-ich vermute, wegen fälschlicherweise davon ausgegangen relative Pfade???
Ausführen von /usr/bin/gcc funktioniert wie erwartet!
In meinem Fall, das "problem" war, dass ich versehentlich injiziert "/bin" in meiner PATH-Umgebungsvariable, was in /bin/gcc ausgeführt wird, anstelle von /usr/bin/gcc. Das entfernen von "/bin" aus dem Weg löste das problem.
Immer noch unklar, warum gibt es zwei gcc-binaries (die scheinen identisch zu sein) in verschiedenen Orten... aber vielleicht ist die Cygwin-gurus beantworten können, oder vielleicht meine installation ist nur foo-ausgeschlossen.
g++
undpkg-config
auf Ihrem Weg. Pro installation AnweisungenCC
,CXX
, undPKG_CONFIG
überprüft werden. Ich wurde immer diese Fehlermeldung, denn ich hatte eine MinGW version vong++
mein Weg aus einer anderen installation auf und bekam die gleiche Antwort.InformationsquelleAutor bloatedfish
Ich hatte das gleiche problem und löste es durch die Installation der g++ - Paket zusätzlich zu den gcc-core
Dies löste mein problem auch
Das könnte eine Antwort zu. Hat mir geholfen, zu lösen
spawn: no such file...
problem.Ich war die gleiche - ziemlich sinnlos/irreführend Fehler. In meinem Fall hatte ich aktualisiert die Cygwin-g++ - Paket, aber nicht die gcc-Paket. Also die Lösung war ähnlich: aktualisieren Sie das zweite Paket auf die gleiche version.
InformationsquelleAutor Felix Burkhardt
Ruben builds sind nicht Cygwin-GCC-Pakete, sondern Sie sind cross-Compiler, die laufen auf verschiedenen Plattformen, aber target native Windows mit dem MinGW-w64 toolchain.
In jedem Fall sollte man sich nicht mit Ihnen auf Cygwin. Wenn Sie möchten, um zu kompilieren Cygwin-Dateien, installieren Sie das gcc4-Pakete, wenn Sie wollen, um cross-kompilieren für Windows, installieren Sie den mingw64-i686-gcc (für Win32) oder mingw64-x86_64-gcc (für Win64) Pakete statt.
InformationsquelleAutor Yaakov
Gcc ist nicht wirklich der compiler. Es ist ein front-end-Programm, koordiniert die Ausführung aller notwendigen compiler, assembler und linker-Komponenten. In der Regel sind diese anderen sind separat kompilierte Programme.
So, gcc versucht (Art), die Ihnen sagen, dass es nicht finden der compiler. Ich denke, es muss auf Ihrem WEG oder in einer erwarteten Position.
Wenn Sie ausgeführt werden diese von einem Windows-DOS-box, dann ist es definitiv braucht einen windows-PFAD-Einstellung.
Mag ich installieren Sie Cygwin Sie rxvt. An diesem Punkt, Sie können konfigurieren, dass ein rein sh(1) Pfad und deine Umwelt wird eher zivilisiert.
InformationsquelleAutor DigitalRoss
Dieser Fehler tritt auf, wenn cygwin cc nicht finden können, eine erforderliche Datei.
Für den Laufenden Sachen innerhalb von cygwin bin-direkt von eine Windows-shell, eine gotcha zu achten ist, dass Windows ermöglicht Ihnen das ausführen von Programmen von der Kommandozeile aus so:
Feststellen, dass es kein slash zwischen
e:
undcyg
.Damit dieser Befehl erfolgreich würde start cygwin-gcc aus der Windows-shell, aber auf halbem Weg durch den Lauf, es wird ein Fehler ausgegeben, da einige Komponente(N) von
gcc
nutzen wird das erste argument der Eingange:cyg/bin/gcc
und im Gegensatz zu mingw, diese ist kein Gültiger Pfad für cygwin gcc.Dies kann behoben werden, indem einfach der Befehl:
Beachten Sie den Schrägstrich zwischen
e:
undcyg
.Einen ähnlichen gotcha ist durch Fenster, durch die Pfade wie
e:/../folder1
als alternative zue:/folder1
. Windows gibt Ihnen nicht einen Fehler, wenn Sie auf den root-Ordner und versuchen Sie, zu gehen bis anderen Ordner mit..
.So könnte man laufen beginnen cygwin gcc mit dem Befehl:
..oder auch:
Jedoch, es würde scheitern auf halbem Weg mit
gcc: error: spawn: No such file or directory
weil einige Komponente(N) von cygwin gcc versuchen würde zu laufengcc
mit dem ersten argument des Befehls Eingabe selbst, und im Gegensatz zu mingw,e:/../cyg/bin/gcc
ist nicht als eine gültige erkannt Pfad von cygwin, denn Sie gehen bis einen Ordner, wenn es keine Ordner, bis zu gehen.Wie oben, dies kann behoben werden, indem der Pfad gültig:
InformationsquelleAutor Pacerier
Stellen Sie sicher, dass die Quell-Datei-Erweiterung in Kleinbuchstaben (also main.c, nicht main.C):
Diese bezieht sich nur auf den Fall der Erweiterung ist, wie der gcc, die eigentliche Quelle-Datei kann die Erweiterung in was auch immer Fall, dass Sie wollen.
Erklärung: Das ist aus meiner Experimentieren mit cygwin und gcc, ich weiß nicht, der eigentliche Grund für dieses Verhalten.
InformationsquelleAutor mihai
Ich hatte den gleichen Fehler, wenn ich versuchte, Sie zu extrahieren ein paar ausführbare Dateien aus dem cygwin-Installations-Verzeichnis und kopiert Sie in einen anderen Speicherort.
strace zeigt mir die Datei nicht gefunden von spawn:
Wenn ich kopiert cc1.exe in der Position relativ zu
funktioniert es einwandfrei.
InformationsquelleAutor Clemens1509