Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ g++在Windows命令提示符下不工作。Cygwin已安装_C++_Command Line_Cygwin_G++_Eclipse Cdt - Fatal编程技术网

C++ g++在Windows命令提示符下不工作。Cygwin已安装

C++ g++在Windows命令提示符下不工作。Cygwin已安装,c++,command-line,cygwin,g++,eclipse-cdt,C++,Command Line,Cygwin,G++,Eclipse Cdt,我已经安装了Eclipse和CDT,以便在Eclipse中使用C/C++需要CDT,还需要安装Cygwin以便可以编译我的文件 在环境变量中,我设置了包含以下内容的路径:C:\cygwin\bin g++、make和GDC都是通过Cygwin安装的。我通过在bin文件夹中搜索它们来确保这一点——它们都在那里 如果在windows命令提示符中输入make,则会出现以下情况: make: *** No targets specified and no makefile found. Stop.

我已经安装了Eclipse和CDT,以便在Eclipse中使用C/C++需要CDT,还需要安装Cygwin以便可以编译我的文件

在环境变量中,我设置了包含以下内容的路径:C:\cygwin\bin

g++、make和GDC都是通过Cygwin安装的。我通过在bin文件夹中搜索它们来确保这一点——它们都在那里

如果在windows命令提示符中输入make,则会出现以下情况:

make: *** No targets specified and no makefile found.  Stop.
如果在windows命令提示符中输入g++或gdc,则会出现以下情况或类似情况:

'g++' is not recognized as an internal or external command,
operable program or batch file.
所以,换句话说,make是有效的,但其余的不是。但它们在同一个bin文件夹中!我完全搞糊涂了

如果我试图打开Cygwin Bash Shell,g++、make和GDC都可以在那里工作

但是,我需要它在命令提示符下工作,以便Eclipse能够编译我在IDE中编写的程序


如果您知道发生这种情况的原因,请告诉我。

我很少使用cygwin,但我的理解是您必须从cygwin bash shell使用它

如果您需要g++、make等,请使用它,g++可以从普通的windows命令行工作。

您可以安装一个来获得一些帮助,以确定正在运行哪些可执行文件

也许它从完全不同的地方获取了“make”,而您添加到%PATH%的内容不起作用

另外,在命令提示符窗口中键入echo%path%进行验证,以确保在该窗口中看到问题。

在CMD窗口中,尝试键入bash在该窗口中启动bash shell。如果这不起作用,那么cygwin bin目录不在您的路径上


如果确实有效,请输入类型g++并键入make以查看用于这些命令的路径。我很确定您的问题出在PATH变量上。

以下是发生在我身上的事情以及我是如何解决的。 我的C:\cygwin\bin\g++.exe是指向C:\etc\alternations\g++.exe的快捷方式,它指向C:\cygwin\bin\g++-3.exe。
用g++-3替换g++对我很有效。

在C:\cygwin\bin中查看是否有g++.exe。如果没有,则说明安装未正确完成,您可能需要重新安装。这就是我的问题所在,并已解决:

将cygwin路径添加到Path变量对我的windows 8.1 64位有效:

转到系统属性并选择高级系统属性

转到环境变量并在系统变量中选择路径,单击编辑

添加Cygwin路径。。。 对于32位:

C:\Cygwin\bin;C:\Cygwin\usr\bin
对于64位:

C:\Cygwin64\bin;C:\Cygwin64\usr\bin

展开时,我尝试了echo%PATH%,结果显示:C:\cygwin\bin;C:\ProgramFiles\Java\jdk1.6.0\U 12\bin;C:\Windows\system32。。。加上其余的常用路径…我已经安装了。键入make将导致“/usr/bin/make”,键入g++将导致“/usr/bin/g++”相同路径,但make仍在工作,而g++不在???当我在命令提示符下输入bash时,出现了:-bash-3.2$-g++并从此提示符下使DO工作。是,谢谢:在我将mingw的bin文件夹添加到Path之后,安装mingw解决了这个问题。谢谢正如最初建议的那样,我安装了MingW并将程序的bin文件添加到%PATH%中,从而解决了问题。我仍然不知道为什么之前它不起作用,因为在我使用Windows的“which”时,它肯定在正确的目录中找到了g++。感谢帮助。我在安装中找到了相同的快捷方式,并使用了相同的解决方案。在打开cygwin shell后,您是否更改了路径?如果是这样的话,它就不会适应环境的变化。尝试重新启动cygwin外壳,看看问题是否仍然存在。