Das hat nichts mit GCC oder dem g ++ - Compiler zu tun. Das Problem ist, dass die Eingabeaufforderung der Meinung ist, dass C: \ Programme \ Internet Explorer tatsächlich drei Argumente enthält: "C: \ Programm", "Dateien \ Internet" und "Explorer". Sie müssen es in Anführungszeichen wie "c: \ Programme \ Internet Explorer" setzen .
g ++ - Compiler: Kompilierung nicht möglich
Dies ist das erste Mal, dass ich den g ++ - Compiler zum Kompilieren meiner C ++ - Programme verwende. Ich habe cygwin g ++ installiert. und ich versuche, ein sehr einfaches Programm auszuführen, um "Hallo" anzuzeigen, um zu sehen, ob es funktionieren würde.
Das Problem ist, dass bei jedem Pfad, den ich eingebe, der Fehler angezeigt wird:
*-bash: cd: c:program: No such file or directory*
Der Pfad, den ich eingegeben habe, ist
*$ cd c:\program files\internet explorer*
Dort habe ich cygwin installiert. Aber aus irgendeinem Grund funktioniert es nicht so, wie es sollte. Kann mir hier jemand helfen?
6 Antworten auf die Frage
- Beliebte
- Neu
- Mit Kommentaren
- Aktiv
Sie müssen etwas um Ihren Pfad hinzufügen, da er Leerzeichen enthält:
cd "c:\Program files\internet explorer"
my2c
Sie haben einen Platz auf Ihrem Weg ...
cd "c:\program files\internet explorer"
Dies ist nur tangential C ++, aber cd "c:\program files\internet explorer"
.
bash
uses backslashes as escapes, similar to C string literals. Try cd '/cygdrive/c/Program Files/Internet Explorer'
since bash also doesn't quite understand drive letters, and will consider the spaces as argument separators without the quotes.
CygWin ist eine POSIX-Emulationsebene. Daher verwenden CygWin-Programme POSIX-ähnliche Pfade, die nicht das Konzept von Laufwerksbuchstaben haben, aber alles unterliegt der /
Hierarchie. Um es kurz zu machen: Um auf Windows-Pfade zuzugreifen, müssen Sie sich auf die Pfadhierarchie unter beziehen /cygdrive/
. (siehe CygWin-Dokumentation )
Ihr c:\Program files\Internet Explorer
wird /cygdrive/c/Program Files/Internet Explorer
(natürlich müssen Sie Anführungszeichen hinzufügen, andernfalls interpretiert bash das Leerzeichen als Argumentstrennzeichen).
Edit : anscheinend macht dercd
Befehl diese Zuordnung von selbst; Es ist jedoch zu beachten, dass CygWin-Programme tatsächlich den POSIX-Pfad und nicht den Windows-Pfad sehen.
Andererseits verstehe ich nicht, warum Sie CygWin verwenden sollten, wenn Sie nur in Standard C ++ programmieren: Sie benötigen wahrscheinlich keine POSIX-Emulationsebene, sondern einen nativen C ++ - Compiler für Windows. Sie können beispielsweise MinGW (den Windows-Port von gcc) oder Visual C ++ (dessen Express Edition kostenlos zur Verfügung steht) verwenden.
Verwandte Probleme
-
4
Cygwin-Eingabeaufforderung ändern
-
3
Cygwin tragbar?
-
1
Wenn X X über Cygwin remote ausgeführt wird, sind meine Zeichensätze hässlich
-
4
Die beste Möglichkeit, Linux-Befehlszeilen-Tools unter Windows zu erhalten
-
2
Wie kann ich meine MacOS X-Terminal-Tastenzuordnungen vollständig mit meinen Windows XP-Tastenzuordn...
-
6
Wie kann ich feststellen, wann ich mich bei Windows angemeldet habe?
-
2
Wie kann ich cygwin / bin in Windows XP zum Suchpfad hinzufügen?
-
1
So richten Sie Ssh / Sshd für die schlüsselbasierte Anmeldung unter Cygwin (Vista) mit StrictModes e...
-
7
Cygwin alternativ für Windows?
-
3
Cygwin unter Windows 7 x64