2013-03-16 82 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应该就足够了。

相关问题