gpt4 book ai didi

c - 海湾合作委员会错误 : undefined reference to ***

转载 作者:行者123 更新时间:2023-12-04 10:16:16 26 4
gpt4 key购买 nike

在我的主 .c 文件中,我将 NUMBER 定义为:

#define NUMBER '0'

在另一个 .c 文件 2 中,我将其声明为“extern int”变量并使用了它。但是在编译 gcc 时给出了以下错误信息:

/tmp/ccsIkxdR.o: In function `file2':
file2.c:(.text+0xfd): undefined reference to `NUMBER'
collect2: error: ld returned 1 exit status

请给我一个出路。提前致谢。

最佳答案

当您使用#define 时,它为预处理器 定义了一个宏。这个宏只会在你定义它的源文件中可见。没有其他源文件会看到这个宏定义,预处理器将无法在其他源文件中为你展开宏,所以编译器会看到符号 NUMBER 并且它没有任何此类符号的声明。

要解决此问题,您有两种选择:

  1. 将宏放在两个源文件中都包含的头文件中。
  2. NUMBER 定义为一个适当的变量而不是宏,然后在另一个源文件中有一个 extern 声明。

关于c - 海湾合作委员会错误 : undefined reference to ***,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26217854/

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