2013-03-16 39 views
-4

當我憑直覺嘗試運行這樣的命令如何指定目標文件

cc -c source.c header.h -o a_name_different_than_source.o 

以下錯誤拋出

CC的名字:不能與-c,-S指定-o或多個文件

-E
+5

你爲什麼要編譯「header.h」?將它包含在source.c中就足夠了。 – flyingOwl 2013-03-16 21:25:17

+0

要編譯單個文件程序,請使用'gcc -Wall -g source.c -o binprog',然後使用'gdb'來調試'binprog'。對於具有多個源文件和頭文件的程序,學習使用像'make'(或'omake')的構建器 – 2013-03-16 21:47:45

回答

6

不要把header.h在命令行:

cc -c source.c -o a_name_different_than_source.o 

將工作。

+0

我建議用'gcc -Wall -g'替換'cc'來獲取警告和調試信息並使用GCC編譯器。並且將'source.c'源文件編譯成'source.o'目標文件(稍後連接)非常常見。不需要命名對象'a_different_name.o' – 2013-03-16 21:48:26

0

.c文件不需要您在命令行中提及標題,GCC負責處理該問題。

一個簡單的gcc inputFilename -o outfileName應該就足夠了。

相關問題