【问题标题】:Multiple definitions error while compiling编译时出现多个定义错误
【发布时间】:2015-04-02 07:40:44
【问题描述】:

当我编译时出现多个定义错误,例如

`__data_start'的多重定义
`_init' 的多重定义

我在论坛上阅读并在他们谈论makefile的答案中,但我没有使用makefile来编译,只是gcc。

我的编译语句是:

gcc -Wall -Werror -O -o textbuffer.c textbuffer

【问题讨论】:

  • 你的编译语句是?
  • @SouravGhosh 我在其中编辑过
  • @SouravGhosh 哦,谢谢!
  • 如果这是您问题的解决方案,我将删除评论并作为答案发布。您可以接受这一点来标记问题已解决。谢谢。
  • 解决了,谢谢 =)

标签: c compilation


【解决方案1】:

问题在于你的编译语句

gcc -Wall -Werror -O -o textbuffer.c textbuffer

根据gcc manual-o 开关用于表示输出文件

-o 文件

将输出放在文件文件中。这适用于正在生成的任何类型的输出,无论是可执行文件、目标文件、汇编文件还是预处理的 C 代码。

所以,基本上,你的编译语句应该是这样的

 gcc -Wall -Werror -O textbuffer.c -o textbuffer

【讨论】:

    【解决方案2】:

    **使用:在声明中**

    #ifndef
    #define __data_start
    #define __init
    #endif
    

    【讨论】:

    • 你能解释一下吗? :? 在哪里
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 2021-11-24
    • 1970-01-01
    相关资源
    最近更新 更多