首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >vtable for ..从编译错误xcode引用

vtable for ..从编译错误xcode引用
EN

Stack Overflow用户
提问于 2009-09-22 05:04:04
回答 4查看 28.4K关注 0票数 19

我在编译iPhone项目时遇到以下错误:

代码语言:javascript
复制
"vtable for oned::MultiFormatUPCEANReader", referenced from:
      __ZTVN4oned23MultiFormatUPCEANReaderE$non_lazy_ptr in MultiFormatUPCEANReader.o
ld: symbol(s) not found
collect2: ld returned 1 exit status

有人知道我该怎么解决它吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-22 05:05:26

问题似乎是,在类MultiFormatUPCEANReader中,我声明了一个构造函数和析构函数,但没有为析构函数编写主体,这导致了这个恼人的问题。希望这能帮助别人解决他们的编译错误。这是一个可怕的编译器错误,信息很少!

票数 41
EN

Stack Overflow用户

发布于 2013-01-28 23:22:06

在我的例子中,它是基类中定义的纯虚方法,它在派生类(更具体地说是vtable中的第一个虚方法)中声明但没有实现,例如:

代码语言:javascript
复制
class Base
{
public:
  virtual int foo() = 0;
  virtual int bar() = 0;
};

class Derived : public Base
{
public:
  Derived() {}
  ~Derived() {}

  virtual int foo(); // <-- causes this obscure linker error
  virtual int bar() {return 0;}
};
票数 6
EN

Stack Overflow用户

发布于 2010-02-02 03:36:42

当用户忘记将类名放在cpp文件中方法定义的前面时,也会发生同样的错误-就像我刚才所做的那样。而且这不是xcode的事情,我使用cmake来构建,使用gcc作为编译器(就像xcode通常所做的那样)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1458180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档