无法从命令行编译c文件

无法从命令行编译c文件,c,gcc,compilation,cmd,codeblocks,C,Gcc,Compilation,Cmd,Codeblocks,我刚刚开始使用C并下载了代码块gcc编译器。现在一切都很顺利,也就是说,我可以创建简单的源代码并从命令行或通过代码块编译.c文件,直到最近 我有一个名为fairwell.c的简单程序,通过命令行键入 gcc fairwell.c -o fairwell.exe 其中显示了以下文本: Goodbye cruel world 然后我删除了这些fairwell.c和.exe文件。现在,每当我试图在命令行编译一个新的.c文件时,它总是显示这个文本而不编译该文件。然而,我仍然可以通过代码块直接编译文件

我刚刚开始使用C并下载了代码块gcc编译器。现在一切都很顺利,也就是说,我可以创建简单的源代码并从命令行或通过代码块编译
.c
文件,直到最近

我有一个名为
fairwell.c
的简单程序,通过命令行键入

gcc fairwell.c -o fairwell.exe
其中显示了以下文本:

Goodbye cruel world
然后我删除了这些
fairwell.c
.exe
文件。现在,每当我试图在命令行编译一个新的
.c
文件时,它总是显示这个文本
而不编译该文件。然而,我仍然可以通过代码块直接编译文件

问题在哪里

现在每次我试图在命令行编译一个新的.c文件时 继续显示此文本,但不编译 档案

这意味着当你运行gcc时,你实际上运行的是你以前的告别程序。因此,您必须以某种方式将其重命名为gcc,并且它位于真正的gcc之前的
PATH
,或者很可能位于当前目录中。如果它在IDE下工作,这意味着您也应该拥有原始的gcc,因此至少不需要重新安装

假设您在标记指示的cmd.exe下操作,则在生成失败的提示中,发出以下命令:

where gcc
它应该打印该命令所运行的任何内容的完整路径。所以,检查该文件(比如,以完整路径运行它)以验证它确实是您的告别程序,然后(以防万一)重命名它。现在,在命令提示下以及在IDE中,构建也应该可以工作,并且您可以删除重命名的文件


另外,如果您实际使用的是bash而不是cmd.exe,那么请尝试使用
哪个gcc
来查找错误的gcc。

您使用什么命令来编译代码?您在哪个操作系统上编码?如何运行文件?我建议使用
gcc-Wall-g fairwell.c-o fairwell.exe
编译,并使用
/fairwell.exe
运行;使用调试器(例如,
gdb
)查找bug。@海德:尝试
键入-a gcc
哪个gcc
。我知道的唯一一个
where
命令是内置在tcsh中的。是的,我就是这么做的(感谢海德),我将告别文件的名称改为gcc。它现在可以工作了。我所做的只是将文件重命名为gcc,不知怎么的,我不知道我是怎么做到的。现在都在工作。谢谢你的邀请help@MichaelSmith当你通过点击白色复选标记来解决问题时,你应该“接受”这个答案。@MichaelSmith没问题,我个人碰巧喜欢这种“疯狂”的问题,在发现原因之前,这些问题看起来像WTF。顺便说一句,在SO说“谢谢”的通常方式是对任何你认为有用的答案和问题进行投票表决。试图在那里对你的答案进行投票表决,但显然我需要一个更好的声誉(“)就像在现实中一样life@MichaelSmith有趣的是,我认为你可以对你自己的问题的答案进行投票表决,就像你可以对它们进行评论一样。但没关系,我的意思主要是作为对新用户的一般性建议:-)