【问题标题】:How to specify the name of an object file如何指定目标文件的名称
【发布时间】:2013-03-16 21:23:07
【问题描述】:

当我直觉地尝试运行这样的命令时

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

抛出以下错误

cc: 不能用 -c 指定 -o,不能用 -S 或 -E 指定多个文件

【问题讨论】:

  • 为什么要编译“header.h”?在 source.c 中包含它就足够了。
  • 编译单文件程序,使用gcc -Wall -g source.c -o binprog,然后使用gdb调试binprog。对于有多个源文件和头文件的程序,学习使用像make(或omake)这样的构建器

标签: c linux gcc cc


【解决方案1】:

不要在命令行中输入header.h

cc -c source.c -o a_name_different_than_source.o

会起作用的。

【讨论】:

  • 我建议将cc 替换为gcc -Wall -g 以获取警告和调试信息并使用GCC 编译器。并且将source.c 源文件编译成source.o 目标文件(稍后链接)是很常见的。无需命名对象a_different_name.o
【解决方案2】:

.c 文件不需要您在命令行中提及标题,GCC 会处理。

一个简单的gcc inputFilename -o outfileName 就足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 2020-06-17
    相关资源
    最近更新 更多