未定义引用错误的含义

Meaning of Undefined reference error

本文关键字:错误 引用 未定义      更新时间:2023-10-16

未定义的引用错误是指缺少声明或定义,还是两者都有?

编译器:Linux 上的GCC

虽然它在技术上是特定于编译器的,但正如错误消息所说,"未定义引用"几乎总是意味着缺少定义。我不知道有哪个编译器会在引用未声明的符号时抱怨"未定义的引用"。

通常(如果不是总是?)这是一个链接器错误,意味着缺少定义。缺少声明的编译错误类似于:"XXX未在此范围内声明。"

我在使用Qt库时遇到了同样的问题。解决方案是在.pro文件中指定指向-lblob文件的路径:

LIBS += -L/user/local/lib 
-lblob