gpt4 book ai didi

c - 链接时出现错误 "multiple definitions"的原因可能是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 07:42:54 25 4
gpt4 key购买 nike

我不断收到错误消息,提示我的函数已被多次定义。当然,我的文件中只有一个文件和一个具有该名称的函数。 gcc 在哪里可以找到这些其他定义?

这是一个示例错误消息,但我收到了很多错误消息:

/tmp/ccerCzAD.o:main.c:(.text+0xdb):

first defined here

/tmp/ccGbaGfJ.o: In function `at':

dlist.c:(.text+0xe3): multiple definition of `at'

我包括了“stdio.h”和“stdlib.h”。函数“at()”可能已经在其中一个中定义了吗?

最佳答案

也许您是在头文件中定义函数,而不是声明它。

int at(void); /* declaration */
int at(void) { return 0; } /* definition */

通常的做法是在头文件中声明,在代码文件中定义。

关于c - 链接时出现错误 "multiple definitions"的原因可能是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1619291/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com