2014-08-27 104 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