Es ist möglich, zwei Versionen von GCC nebeneinander zu haben: die native Windows MinGW Version und die cygwin Linux Version? Dinge werden problematisch, wenn auf Cygwin das System versucht, mit der MinGW-Version von GCC zu kompilieren, und umgekehrt. Wie kann ich beide Versionen von GCC behalten?GCC auf Cygwin koexistiert mit MinGW
Antwort
Psychisches Debugging schlägt vor, dass Sie einen oder beide in Ihrem globalen Pfad haben. Nehmen Sie beide aus Ihrem globalen Pfad heraus (gcc sollte "bad command or file name" oder ähnliches direkt von cmd.exe ausführen) und richten Sie die Verknüpfungen ein, damit sie die richtige Umgebung für jede laden.
Ich habe beide installiert und koexistieren friedlich. Cygwin wird in c: \ cygwin installiert, während MinGW in c: \ msys \ mingw installiert wird. Ich musste nichts Ungewöhnliches tun, um sie koexistieren zu lassen, da ihre Umgebungen durch ihre jeweiligen Start-Shortcuts festgelegt wurden.
Es muss einen bestimmten Schritt in Ihrer Installation geben, der dazu führte, dass sie in irgendeiner Weise gekoppelt wurden. Wenn Sie Ihre Installationsreihenfolge und Standorte beschreiben, kann möglicherweise jemand weitere Ratschläge geben.
Die Art, wie ich sie getrennt halte, ist die ausschließliche Verwendung der Cygwin-Umgebung. Das MinGW-Zeugs befindet sich nicht in meinem Standardpfad, und ich verwende keine MSYS-Programme. Für den täglichen Gebrauch können Sie nicht sagen, dass ich MinGW installiert habe.
In den seltenen Fällen, wenn ich etwas mit MinGW testen müssen, ich laufe diesen Shell-Skript aus der Cygwin Bash-Eingabeaufforderung, die ich mingw
nennen:
#!/bin/sh
PATH=/cygpath/c/mingw/bin:/cygpath/c/windows/system32:/cygpath/c/cygwin/bin
echo "Say 'exit' to leave MinGW shell and restore Cygwin environment."
/usr/bin/bash --rcfile ~/.mingwrc
die PATH anpassen zu schmecken. Die einzige wichtige Sache dabei ist, dass es das MinGW Bin-Verzeichnis vor das Cygwin-Bin-Verzeichnis stellt. Sie wollen wahrscheinlich noch das Cygwin bin-Verzeichnis in der PATH für vi, ls usw.
Die letzte Zeile des Skripts dieses Skript ausgeführt wird, ~/.mingwrc
:
alias make=mingw32-make
PS1='MinGW: \W \$ '
Sie können nicht kombinieren diese beiden Skripte durch wie Bash funktioniert. Das zweite Skript enthält Dinge, die nur passieren können, wenn die "MinGW-Shell" läuft. Die PS1-Zuweisung erinnert Sie daran, dass Sie in einer MinGW-Shell sind, und der Alias stellt sicher, dass "make" MinGWs eigenes make (1) -Programm anstelle von Cygwins ausführt, da meine MinGW-Makefiles DOS-Befehle und keine Bourne-Shell-Befehle verwenden ist einer der Unterschiede im MinGW-Port von GNU make. Sie würden diese Alias-Zeile verlassen, wenn Sie den MinGW-Compiler mit Cygwin make verwenden möchten.
Wenn Sie die MinGW-Subshell verlassen, werden die vorherigen PS1, PATH und Aliasnamen wiederhergestellt.
Nimm beide aus dem globalen Pfad heraus. Dann eine neue *.cmd
-Datei mit dem folgenden erstellen (dauert Cygwin als Beispiel):
@echo off
rem file: start cmd with cygwin's path
cmd.exe /k path=C:\cygwin\bin;%path%
Sie path
im Befehlsfenster eingeben zu überprüfen.
Jetzt können Sie mit Cygwin arbeiten. Die Umgebung ist nur innerhalb der cmd.exe
gültig.
- 1. Cygwin: Wie man eigentlich gcc-mingw verwendet
- 2. Wie verwende ich MinGW-w64 mit Cygwin?
- 3. Ist es möglich, GCC ohne Cygwin oder MinGW zu verwenden?
- 4. Kompilieren mit gcc (cygwin auf Windows)
- 5. MinGW als zuverlässiger 64-Bit-GCC-Compiler
- 6. Warum hängt GCC-Windows von Cygwin ab?
- 7. Build Python mit Mingw und gcc
- 8. Cygwin Gcc-Fehler beim Laden gemeinsamer Bibliotheken?
- 9. Eclipse CDT findet weder Cygwin noch MinGW Toolchain
- 10. Warum sind Cygwin und MinGW notwendig?
- 11. GCC auf Cygwin auf Version 5.4.0 aktualisiert. cmath erzeugt Fehler
- 12. MinGW GCC: "Unbekanntes Konvertierungstypenzeichen 'h'" (snprintf)
- 13. undefined Verweis auf `_WinMain @ 16 'mit Cygwin und Mingw in OpenSSL
- 14. Wie erhält gcc/cygwin den DNS-Server?
- 15. MinGW - Update GCC Version 3.4.5 auf Version 4.4
- 16. gcc mingw Compiler erkennt CancelIOEx nicht
- 17. MinGW-w64 gcc und Adresse Sanitizer
- 18. compile cdrtools mit mingw
- 19. Cygwin gcc issue - kann Python.h nicht finden
- 20. gcc -MM auf Cygwin: manchmal Unix-Stil Pfade
- 21. Kompilieren Kleines Gcc Projekt unter Windows mit MinGW
- 22. Wie verlinkt man gegen msvcr90.dll mit mingw gcc?
- 23. Nicht definiert Referenz auf Imp mit Mingw
- 24. Problem Kompilieren mit Cygwin
- 25. Globbing mit MinGW auf Windows
- 26. "-bash: gcc: Befehl nicht gefunden" mit Cygwin beim Kompilieren von c?
- 27. Projekt konnte MinGW nach Aktualisierung der Werkzeugkette von Cross GCC nach MinGW nicht durchsuchen
- 28. Gebäude ns-2 auf Cygwin
- 29. C: Regex-Bibliothek mit MinGW
- 30. CMake Projekt für Eclipse + MinGW Visual Studio definiert statt GCC
Beste Antwort für mich. – iab