用extern出现undefined reference to
609浏览 · 2023-05-20 16:05:04
这通常是因为在使用 [extern](https://wenku.csdn.net/doc/7v3xzur3wp?spm=1055.2569.3001.10083&kwd=extern) 声明一个变量或函数时,没有在其他文件中定义该变量或函数。这可能是因为您忘记了包含相关的头文件,或者在其他文件中没有正确定义该变量或函数。您需要确保在使用 extern 声明之前,已经定义了相关的变量或函数。
相关问题
在编程中,当你在代码中使用了一个外部函数或变量,但是没有在当前文件中定义它时,会出现 "undefined reference" 的错误。这个错误通常发生在链接阶段,编译器无法找到对应的定义。
要解决这个问题,你需要确保在当前文件中包含了对外部函数或变量的声明,并且在链接阶段将其与对应的定义文件一起编译。另外,还要确保对应的定义文件已经被正确地编译并生成了对应的目标文件或库文件。
如果你提供的代码中出现 "extern undefined reference" 的错误,请检查是否缺少对应的声明或定义,并确保链接阶段能够正确找到对应的定义文件。
"extern"关键字用于声明一个变量或函数是在其他文件中定义的,因此编译器不会为其分配内存或生成代码。当在一个文件中使用一个"extern"声明的变量或函数时,编译器会在链接阶段查找其他文件中的定义,并将它们合并到最终的可执行文件中。
如果在一个文件中使用了一个"extern"声明的指针变量,并且该指针在其他文件中定义,但是链接器无法找到该定义时,就会出现"undefined reference to"错误。这通常是因为没有正确地包含其他文件的目标代码或库文件。
要解决这个问题,可以通过确保所有相关的文件都被正确地包含和链接来修复错误。具体地说,需要检查每个文件的编译选项和链接选项,以确保它们都