In meiner Installation gab es auch keinen generischen gcc
-Befehl, also habe ich einen Symlink dafür gemacht:
Nun überprüfe, ob es funktioniert hat, indem du which gcc
tust, was dir /usr/bin/gcc
geben soll und dann gcc
dir gcc: no input files
geben soll. Beachten Sie, dass Ihre Version von i686-pc-cygwin-gcc-3.4.4.exe anders sein kann. Check in / usr / bin dafür.
Möglicherweise haben Sie während der Installation von Cygwin gcc, gdb und make packages ausgewählt. Versuchen Sie also, die Schritte in diesem Link zum Auflösen des gcc-Befehls nicht gefunden zu befolgen. Möge Ihr Problem gelöst werden.
Ich hatte das gleiche Problem und es wurde mit den oben genannten Schritten gelöst.
Dies könnte daran liegen, dass Ihnen das Compiler-Präfix fehlt.
Standardmäßig suchen die meisten Makefiles nach gcc.exe
. Wenn Sie einen anderen Compiler verwenden, sagen Sie i686-pc-mingw32-gcc.exe
, dann wird make
es nicht finden, es sei denn, Sie sagen es. Sie können etwas wie
Ein paar Dinge:
Ich installiere immer das ganze Cygwin Paket. Frühere Versionen hatten Probleme mit Abhängigkeiten, die jetzt behoben sind, glaube ich, aber es ist immer noch eine gute Angewohnheit. Du weißt nie, wann du das esoterischste Teil von Cygwin brauchst.
Sie müssen möglicherweise Ihren Pfad ändern. Alle Werkzeuge können generell in Ordnung sein, wenn Sie innerhalb der Cygwin Bash Shell laufen, aber das ist nicht unbedingt der Fall von cmd.exe
.
Es ist unwahrscheinlich, dass es der letzte ist, da Ihre Fehlermeldung von bash
selbst kommt, also bin ich mir ziemlich sicher, dass Sie so etwas ausführen.
Sehen Sie nach, ob Sie /usr/bin/gcc
von bash
haben und dass Ihr Pfad /usr/bin
irgendwo enthält:
Wenn es nicht da ist, gehen Sie zurück und installieren Sie alles neu (oder das entsprechende Entwicklungspaket, wenn Sie nicht alles wollen). Wenn es dort ist und Ihr Pfad seinen Standort nicht hat, ändern Sie Ihren Pfad in /etc/profile
oder dem Äquivalent in Ihrem Basisverzeichnis.
Ein weiteres Problem, das hier nicht erwähnt wurde, ist, dass der Compiler von der Befehlszeile aus die Umgebungspfadvariable aktualisiert, um den Speicherort der C ++ - Headerdateien zu finden. In Windows können Sie einfach die Pfadumgebung über die GUI für erweiterte Systemeigenschaften aktualisieren und den Speicherort der C ++ - Include-Dateien hinzufügen. Dies aktualisiert die Umgebungsvariable PATH in Windows cmd & amp; Cygwin automatisch beim Neustart der Shell.
Um Ihren PATH von Linux oder dem Cygwin-Shell-Typ zu aktualisieren ... PATH = $ PATH: / ihr_pfad_hier Beispiel: PATH = $ PATH: /cygdrive/c/cygwin/lib/gcc/i686-pcmingw32/4.7. 3 / include / c ++ Auch eine gute Idee, nur das Include-Verzeichnis hinzuzufügen: PATH = $ PATH: /cygdrive/c/cygwin/lib/gcc/i686-pc-mingw32/4.7.3/include/ ... oder Überprüfen Sie die richtigen Verzeichnisse für den Speicherort der Include-Dateien Ihrer Installation, ich empfehle die Installation von mingw für die Verwendung mit Cygwin, die mit g ++ envoked ist.
Um weitere benötigte Pakete in Cygwin zu installieren, führen Sie das Cygwin-Installationsprogramm & amp; Überprüfen Sie die Installation über das Internet, um Pakete aus Web-Repositories hinzuzufügen, und fügen Sie mingw-gcc-g ++ & amp; Mingw-Binutils. So kompilieren Sie Ihren Code: g ++ Hallo.cpp -o Hallo
Wenn Sie das Dienstprogramm gcc verwenden, kompilieren Sie es stattdessen mit dem folgenden Befehl: gcc hallo.cpp -o hello -lstdc ++ ... um die ausführbare Datei zu erhalten.
Solange Sie gcc oder mingw installiert haben und der Pfad zu den C ++ Include-Dateien in Ihrer Pfadumgebung ist, funktionieren die Befehle.
Es gibt einen weiteren Fehler, der schwer zu entdecken ist, der auch diesen Fehler verursachen kann,
Wenn Ihr Makefile PATH
als Variable verwendet, könnte der Fehler gcc not found
auftreten.
Dies liegt daran, dass es den Systempfad vorübergehend ändert.
Ich habe viel Zeit in die Einstellung der Cygwin-Umgebung investiert, um das zu entdecken, also werde ich es hier lassen, falls das hier jemandem hilft, den Weg hierher zu finden.