g ++不能在Windows命令提示符下工作

时间:2009-08-19 04:45:33

标签: eclipse path cygwin g++

我尝试将Eclipse用作C编程的IDE。因此,我成功安装了cygwin,从而获得了gcc,gdb和make工具。我能够在cygwin上执行C程序,但是我无法在命令提示符下执行此操作。我知道,必然存在与Path相关的问题。但我将C:\ Cygwin \ bin; C:\ Cygwin \ usr \ bin添加到路径中。我在Cygwin上通过bash命令仔细检查了文件夹。

还没有成功。我不知道下一步。我所知道的是,在目前的情况下我不能使用Eclipse。

4 个答案:

答案 0 :(得分:0)

  1. 检查cygwin中的PATH环境变量
  2. 启动Cygwin命令行。
  3. 然后输入

    echo $PATH

  4. 这将显示要添加的路径。

答案 1 :(得分:0)

我很久以前就把C:\cygwin\bin添加到我的PATH中了,它总是正常工作(没有关于Cygwin的其他内容;当然不需要C:\cygwin\usr\bin,因为该目录是空的......你只是从Cygwin内部看/usr/bin作为/bin)的镜像。

使用以下命令从cmd.exe提示符(Windows命令提示符)检查Windows PATH:

C:\Documents and Settings\lapo.CYBERONE>echo %PATH%
C:\WINXP\system32;C:\WINXP;C:\WINXP\System32\Wbem;C:\cygwin\bin
(and some more stuff not of interest for this question)

如果确实包含C:\cygwin\bin,那么就会发生一些奇怪的事情:您可以尝试重新安装Cygwin但是有一些特定的错误需要验证当然可以帮助调试问题...当您尝试在cmd.exe中执行一些Cygwin是什么意思? 'ls' is not recognized as an internal or external command, operable program or batch file.还是什么都没有? 什么是错误级别?

PS:这类问题可能更适合superuser.com

答案 2 :(得分:0)

您可以通过进入cygwin并使用哪个和mount来找到要添加到路径的正确目录。例如,在本地这些给我:

bash-3.2$ which gcc
/usr/bin/gcc
bash-3.2$ mount
C:\cygwin\bin on /usr/bin type system (binmode)
C:\cygwin\lib on /usr/lib type system (binmode)
C:\cygwin on / type system (binmode)

所以我知道,要在我的路径中获取gcc,我需要添加c:\ cygwin \ bin你应该能够做同样的事情。

答案 3 :(得分:0)

问题是g ++是一个链接。转到c:\cygwin\bin并输入:

cmd /c dir g++*

不要输入dir或ls,因为这个命令会执行执行cygwin命令并进行转换。

Cygwin可以将此链接解释为符号链接,因此如果键入

bash -c g++

编译器运行正常。 Windows无法做到这一点。您可以使用:

readlink g++

查看链接指向的位置。它很可能指向C:\cygwin\bin\g++-3.exe。如果你可以使用g ++ - 3那么你就完成了。如果你需要使用g ++,那么只需将g ++ - 3.exe复制到g ++。exe,但是这样你需要记住在更新g ++ - 3.exe时更新文件。