C++ 未定义参考误差的含义

C++ 未定义参考误差的含义,c++,linux,gcc,C++,Linux,Gcc,未定义的引用错误是指缺少声明或定义,还是两者都缺少 编译器:Linux上的GCC通常(如果不总是?)这是一个链接器错误,意味着缺少定义。缺少声明的编译错误类似于:“XXX未在此范围内声明。”虽然它在技术上是特定于编译器的,“未定义的引用”几乎总是意味着(如错误消息所述)缺少定义。我不知道有哪个编译器在引用未声明的符号时会抱怨“未定义的引用”。我在使用Qt库时也遇到了同样的问题。 解决方案是在.pro文件中指定指向-lblob文件的路径: LIBS += -L/user/local/lib \ -

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


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

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

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

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

如果没有实际的错误,很难猜测,但可能是缺少定义。因为编译器/链接器错误是特定于工具的,为了得到准确的答案,您应该告诉我们您使用的编译器。@JoachimPileborg好吧,在我的例子中,它缺少定义。但我想知道声明是否丢失,错误是否相同?如果声明丢失,错误通常会显示类似“XXX未在此范围内声明”。“未定义符号”通常也是链接器错误谢谢,现在已经验证了,您是正确的。这是一个非常特殊的情况,不是对是否“未定义的引用“是由于缺少声明或定义造成的。@jogojapan从其他答案中,任何人都可以了解发生了什么,添加一个QT特定的答案并没有坏处。事实上,这很有帮助。此外,它是无形的,但我想大多数人谁发现这是有用的是相同的人谁不会登录,而不是投票正常。。。此外,当人们带着一种通常似乎没有奢侈的想法来到这里,实际获取图片供他们使用时,让他们有机会找到QT特定版本可能是他们目前所需要的。。。