对具有矮人误差的'abc::abc()'的未定义引用:出现偏移
undefined reference to 'abc::abc()' with Dwarf Error: Offset appearing
我声明一个obj:
#include "abc.h"
class xxx
{
public:
xxx();
~xxx();
abc* q;
...
};
在.cpp文件中,我执行以下
this->q=new abc();
<-该行出现错误,未定义对abc::abc()
的引用
在控制台中,还会出现以下错误:
Dwarf错误:偏移(76195)大于或等于.debug _str大小(1472)。
有人知道可能出了什么问题吗?我使用eclipse,fedora 14
对
abc::abc()
的未定义引用
这是一个链接错误,告诉您链接器找不到abc::abc()
的定义。
很可能,您只是为类abc
声明但没有定义无参数构造函数
在cpp
文件中,您应该有:
abc::abc()
{
}
如果你已经有了它,那么你应该确保具有这个定义的源cpp文件正确地链接到你的项目。
this->q=new abc();
<-这一行出现错误,未定义对的引用abc::abc()
根据您的错误,您似乎只有abc::abc()
的声明,并且不存在任何定义。在源文件中定义abc::abc()
或在头文件中将其设为inline
。
构建中似乎没有包含abc类的实现。将abc.cpp文件添加到生成中。
相关文章:
- 将对象数组的引用传递给函数
- 什么时候在C++中返回常量引用是个好主意
- 我想将一个对T类型的非常量左值引用绑定到一个T类型的临时值
- 何时在引用或唯一指针上使用移动语义
- 如何在c++中使用引用实现类似python的行为
- 编译C++时未定义的引用
- Ctypes wstring通过引用传递
- c++r值引用应用于函数指针
- 理解c++中的引用
- C++取消引用指针.为什么会发生变化
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 强制转换为引用类型
- 引用一个已擦除类型(void*)的指针
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 具有默认值的引用获取函数
- 对函数'abc'的未定义引用
- 在“abcd”和“abc”的情况下,“std::equal”是否取消引用“end()”
- 对具有矮人误差的'abc::abc()'的未定义引用:出现偏移