Это не имеет ничего общего с GCC или компилятором g ++. Проблема в том, что командная строка считает, что c: \ program files \ internet explorer - это на самом деле три аргумента: «c: \ program», «files \ internet» и «explorer». Вы должны поместить это в кавычки как этот "c: \ program files \ internet explorer" .
Компилятор g ++: не может скомпилировать
Это первый раз, когда я использую компилятор g ++ для компиляции своих программ на c ++. Я установил Cygwin G ++. и я пытаюсь запустить очень простую программу, чтобы отобразить «привет», чтобы увидеть, будет ли это работать.
Проблема в том, что любой путь, который я ввожу, я получаю сообщение об ошибке:
*-bash: cd: c:program: No such file or directory*
Путь, который я набрал,
*$ cd c:\program files\internet explorer*
Вот где я установил Cygwin в. Но по какой-то причине это не работает так, как должно. Может кто-нибудь помочь мне здесь?
6 ответов на вопрос
- Популярные
- Новые
- С комментариями
- Активные
Вам нужно добавить «вокруг» вашего пути, так как он содержит пробелы:
cd "c:\Program files\internet explorer"
my2c
У вас есть место на вашем пути ...
cd "c:\program files\internet explorer"
Это только косвенно C ++, но cd "c:\program files\internet explorer"
.
bash
использует обратную косую черту как escape-символы, аналогичные строковым литералам Си. Попробуйте, cd '/cygdrive/c/Program Files/Internet Explorer'
так как bash также не совсем понимает буквы дисков и будет рассматривать пробелы в качестве разделителей аргументов без кавычек.
CygWin - это уровень эмуляции POSIX, поэтому в программах CygWin используются пути, подобные POSIX, в которых нет понятия букв дисков, но все находится под /
иерархией. Короче говоря, для доступа к путям Windows вы должны обратиться к иерархии путей в /cygdrive/
. (см. документацию CygWin )
Вы c:\Program files\Internet Explorer
станете /cygdrive/c/Program Files/Internet Explorer
(естественно, вам придется добавлять кавычки, иначе bash будет интерпретировать пространство как разделитель аргументов).
Редактировать : по-видимому,cd
команда делает это отображение самостоятельно; Тем не менее, следует помнить, что программы CygWin на самом деле будут видеть путь POSIX, а не путь Windows.
С другой стороны, я не понимаю, почему вы должны использовать CygWin, если вы программируете только на стандартном C ++: возможно, вам не нужен слой эмуляции POSIX, а собственный компилятор C ++ для Windows. Вы можете использовать, например, MinGW (порт gcc для Windows) или Visual C ++ (чья Express Edition доступна бесплатно).
Похожие вопросы
-
4
Изменить Cygwin Prompt
-
3
Портативный Cygwin?
-
1
При удаленном запуске X через Cygwin, почему мои шрифты ужасны
-
-
4
Лучший способ получить «инструменты командной строки Linux» на Windows
-
2
Как полностью сопоставить сопоставления клавиш моего терминала MacOS X с сопоставлениями клавиш в Wi...
-
6
Как я могу узнать, когда я вошел в Windows?
-
2
Как добавить cygwin / bin в путь поиска в Windows XP?
-
1
Как настроить Ssh / Sshd для входа на основе ключа в Cygwin (Vista) с помощью StrictModes yes
-
7
Cygwin альтернатива для Windows?
-
3
Cygwin под Windows 7 x64