2014-08-27 105 views
2

我刚开始使用C并下载了CodeBlocks gcc编译器。现在一切正常,即我可以创建简单的源代码,直到最近才从命令行或通过CodeBlocks编译.c文件。无法从命令行编译c文件

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

gcc fairwell.c -o fairwell.exe 

其中显示以下文字:

Goodbye cruel world 

然后我删除了这些fairwell.c.exe文件。现在,每次我尝试在命令行上编译一个新的.c文件时,它都会一直显示此文本Goodbye cruel world,并且不会编译该文件。但是,我仍然可以通过CodeBlocks直接编译文件。

问题在哪里?

+1

你用什么命令编译代码? – TerryG 2014-08-27 19:16:15

+0

并且你在哪个操作系统上编码?你如何运行你的文件?我建议用'gcc -Wall -g fairwell.c -o fairwell.exe'编译并使用'./ fairwell.exe'运行;使用调试器(例如'gdb')来查找错误。 – 2014-08-27 19:26:32

+0

@hyde:尝试'输入-a gcc'或'which gcc'。我知道的唯一'where命令是内置到tcsh中的。 – 2014-08-27 19:34:31

回答

2

现在每次我尝试在命令行它 编译一个新的.c文件不断显示此文再见残酷的世界,不编译 文件。

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

假设你正在CMD.EXE操作由标签所指示的,则在建设失败的提示,给这个命令:

where gcc 

应该打印出完整路径无论是通过运行该命令。因此,检查该文件(例如,用完整路径运行它)来验证它确实是你的程序,然后(以防万一)重命名它。构建应该现在也可以从命令提示符以及IDE中使用,并且您可以删除重命名的文件。

PS。如果您实际使用bash而不是cmd.exe,则尝试使用which gcc而不是gcc

+0

是的,我所做的只是重命名文件作为gcc莫名其妙地不知道我是如何做到这一点的。现在都在工作。感谢您的帮助 – headhog 2014-08-27 20:01:14

+1

@MichaelSmith当您通过单击白色复选标记帮助解答您的问题时,您应该“接受”此答案。 – nodakai 2014-08-27 20:05:13

+0

@MichaelSmith没问题,我个人喜欢这种类似WTF的“疯狂”问题,直到找到理由。顺便说一句,通常在SO上说“谢谢”的方式是提出任何答案,并提出您认为有用的问题。 – hyde 2014-08-27 20:13:46