对具有矮人误差的'abc::abc()'的未定义引用:出现偏移

undefined reference to 'abc::abc()' with Dwarf Error: Offset appearing

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

我声明一个obj:

#include "abc.h"
class xxx
{
public: 
  xxx();
  ~xxx();
  abc* q;
...
};

在.cpp文件中,我执行以下

this->q=new abc();&lt-该行出现错误,未定义对abc::abc() 的引用

在控制台中,还会出现以下错误:

Dwarf错误:偏移(76195)大于或等于.debug _str大小(1472)。

有人知道可能出了什么问题吗?我使用eclipse,fedora 14

abc::abc() 的未定义引用

这是一个链接错误,告诉您链接器找不到abc::abc()的定义。

很可能,您只是为类abc声明但没有定义无参数构造函数
cpp文件中,您应该有:

abc::abc()
{
}

如果你已经有了它,那么你应该确保具有这个定义的源cpp文件正确地链接到你的项目。

this->q=new abc();&lt-这一行出现错误,未定义对的引用abc::abc()

根据您的错误,您似乎只有abc::abc()的声明,并且不存在任何定义。在源文件中定义abc::abc()或在头文件中将其设为inline

构建中似乎没有包含abc类的实现。将abc.cpp文件添加到生成中。